Class: Dbsketch::Comparison::ComputedColumnComparator
- Inherits:
-
Object
- Object
- Dbsketch::Comparison::ComputedColumnComparator
- Defined in:
- lib/dbsketch/comparison/computed_column_comparator.rb
Instance Method Summary collapse
- #are_equivalent?(old_column, new_column) ⇒ Boolean
- #compare(old_column, new_column) ⇒ Object
-
#initialize(options: {}) ⇒ ComputedColumnComparator
constructor
A new instance of ComputedColumnComparator.
Constructor Details
#initialize(options: {}) ⇒ ComputedColumnComparator
Returns a new instance of ComputedColumnComparator.
36 37 38 |
# File 'lib/dbsketch/comparison/computed_column_comparator.rb', line 36 def initialize options: {} @options = { :compare_order => true }.merge end |
Instance Method Details
#are_equivalent?(old_column, new_column) ⇒ Boolean
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/dbsketch/comparison/computed_column_comparator.rb', line 40 def are_equivalent? old_column, new_column ### Preconditions raise ArgumentError, "old_column is not a Dbsketch::Model::ComputedColumn" unless nil == old_column or old_column.is_a? Dbsketch::Model::ComputedColumn raise ArgumentError, "new_column is not a Dbsketch::Model::ComputedColumn" unless nil == new_column or new_column.is_a? Dbsketch::Model::ComputedColumn ### (nil != old_column and nil != new_column) and old_column.query == new_column.query and old_column.nullable == new_column.nullable and old_column.persisted == new_column.persisted and (not @options[:compare_order] or old_column.order == new_column.order) end |
#compare(old_column, new_column) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/dbsketch/comparison/computed_column_comparator.rb', line 52 def compare old_column, new_column ### Preconditions raise ArgumentError, "old_column is not a Dbsketch::Model::ComputedColumn" unless nil == old_column or old_column.is_a? Dbsketch::Model::ComputedColumn raise ArgumentError, "new_column is not a Dbsketch::Model::ComputedColumn" unless nil == new_column or new_column.is_a? Dbsketch::Model::ComputedColumn ### ComputedColumnDiff.new(old_column, new_column, @options) if not are_equivalent? old_column, new_column end |