Class: Dbsketch::Comparison::IndexComparator

Inherits:
Object
  • Object
show all
Defined in:
lib/dbsketch/comparison/index_comparator.rb

Instance Method Summary collapse

Instance Method Details

#are_equivalent?(old_index, new_index) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


33
34
35
36
37
38
39
40
41
# File 'lib/dbsketch/comparison/index_comparator.rb', line 33

def are_equivalent? old_index, new_index
	### Preconditions
	raise ArgumentError, "old_index is not a Dbsketch::Model::Index" unless nil == old_index or old_index.is_a? Dbsketch::Model::Index
	raise ArgumentError, "new_index is not a Dbsketch::Model::Index" unless nil == new_index or new_index.is_a? Dbsketch::Model::Index
	###
	(nil != old_index and nil != new_index) and
		old_index.target.name == new_index.target.name and
		columns(old_index, new_index).empty?
end

#compare(old_index, new_index) ⇒ Object

Raises:

  • (ArgumentError)


43
44
45
46
47
48
49
# File 'lib/dbsketch/comparison/index_comparator.rb', line 43

def compare old_index, new_index
	### Preconditions
	raise ArgumentError, "old_index is not a Dbsketch::Model::Index" unless nil == old_index or old_index.is_a? Dbsketch::Model::Index
	raise ArgumentError, "new_index is not a Dbsketch::Model::Index" unless nil == new_index or new_index.is_a? Dbsketch::Model::Index
	###
	IndexDiff.new(old_index, new_index, columns(old_index, new_index)) if not are_equivalent? old_index, new_index
end