class Dbsketch::Comparison::ColumnComparator
Public Class Methods
new(options: {})
click to toggle source
# File lib/dbsketch/comparison/column_comparator.rb, line 36 def initialize options: {} @options = { :compare_order => true }.merge options @type_comparator = TypeComparator.new end
Public Instance Methods
are_equivalent?(old_column, new_column)
click to toggle source
# File lib/dbsketch/comparison/column_comparator.rb, line 41 def are_equivalent? old_column, new_column ### Preconditions raise ArgumentError, "old_column is not a Dbsketch::Model::Column" unless nil == old_column or old_column.is_a? Dbsketch::Model::Column raise ArgumentError, "new_column is not a Dbsketch::Model::Column" unless nil == new_column or new_column.is_a? Dbsketch::Model::Column ### (nil != old_column and nil != new_column) and @type_comparator.are_equivalent?(old_column.type, new_column.type) and old_column.identity == new_column.identity and old_column.default == new_column.default and old_column.nullable == new_column.nullable and (not @options[:compare_order] or old_column.order == new_column.order) end
compare(old_column, new_column)
click to toggle source
# File lib/dbsketch/comparison/column_comparator.rb, line 54 def compare old_column, new_column ### Preconditions raise ArgumentError, "old_column is not a Dbsketch::Model::Column" unless nil == old_column or old_column.is_a? Dbsketch::Model::Column raise ArgumentError, "new_column is not a Dbsketch::Model::Column" unless nil == new_column or new_column.is_a? Dbsketch::Model::Column ### ColumnDiff.new(old_column, new_column, @type_comparator, @options) if not are_equivalent? old_column, new_column end