Class: Dbsketch::Comparison::PrimaryKeyComparator
- Inherits:
-
Object
- Object
- Dbsketch::Comparison::PrimaryKeyComparator
- Defined in:
- lib/dbsketch/comparison/primary_key_comparator.rb
Instance Method Summary collapse
- #are_equivalent?(old_key, new_key) ⇒ Boolean
-
#compare(old_key, new_key) ⇒ Object
Returns a PrimaryKeyDiff if tables are different, nil otherwise.
Instance Method Details
#are_equivalent?(old_key, new_key) ⇒ Boolean
30 31 32 33 34 35 36 |
# File 'lib/dbsketch/comparison/primary_key_comparator.rb', line 30 def are_equivalent? old_key, new_key ### Preconditions raise ArgumentError, "old_key is not a Dbsketch::Model::PrimaryKey" unless nil == old_key or old_key.is_a? Dbsketch::Model::PrimaryKey raise ArgumentError, "new_key is not a Dbsketch::Model::PrimaryKey" unless nil == new_key or new_key.is_a? Dbsketch::Model::PrimaryKey ### (nil == old_key and nil == new_key) or (nil != old_key and nil != new_key and old_key.name == new_key.name and columns(old_key, new_key).empty?) end |
#compare(old_key, new_key) ⇒ Object
Returns a PrimaryKeyDiff if tables are different, nil otherwise
39 40 41 42 43 44 45 |
# File 'lib/dbsketch/comparison/primary_key_comparator.rb', line 39 def compare old_key, new_key ### Preconditions raise ArgumentError, "old_key is not a Dbsketch::Model::PrimaryKey" unless nil == old_key or old_key.is_a? Dbsketch::Model::PrimaryKey raise ArgumentError, "new_key is not a Dbsketch::Model::PrimaryKey" unless nil == new_key or new_key.is_a? Dbsketch::Model::PrimaryKey ### PrimaryKeyDiff.new(old_key, new_key, columns(old_key, new_key)) if not are_equivalent? old_key, new_key end |