module StructureSqlMergeDriver::Default

Constants

RE_VERSION
RE_VERSIONS

Public Class Methods

match?(content) click to toggle source
# File lib/git-merge-structure-sql.rb, line 44
def match?(content)
  RE_VERSIONS === content
end
merge!(*contents) click to toggle source
# File lib/git-merge-structure-sql.rb, line 48
def merge!(*contents)
  merge_versions!(*contents)
end

Private Class Methods

format_versions(versions) click to toggle source
# File lib/git-merge-structure-sql.rb, line 66
def format_versions(versions)
  versions.map { |version| "('%s')" % version }.join(",\n") << ";\n"
end
merge_versions!(*contents) click to toggle source
# File lib/git-merge-structure-sql.rb, line 54
def merge_versions!(*contents)
  replacement = format_versions(
    contents.inject([]) { |versions, content|
      versions | content[RE_VERSIONS].scan(RE_VERSION).flatten
    }.sort
  )

  contents.each { |content|
    content.sub!(RE_VERSIONS, replacement)
  }
end