# File lib/occi/helpers/comparators/collection.rb, line 8 def ==(obj) return false unless obj && has_accessors?(obj) contents_matches?(obj) end
# File lib/occi/helpers/comparators/collection.rb, line 13 def eql?(obj) self == obj end
# File lib/occi/helpers/comparators/collection.rb, line 17 def hash REQUIRED_ACCESSORS.collect { |accessor| self.send(accessor) }.hash end
# File lib/occi/helpers/comparators/collection.rb, line 29 def contents_matches?(obj) result = true REQUIRED_ACCESSORS.each { |accessor| result = result && (self.send(accessor) == obj.send(accessor)) } result end
# File lib/occi/helpers/comparators/collection.rb, line 21 def has_accessors?(obj) result = true REQUIRED_ACCESSORS.each { |accessor| result = result && obj.respond_to?(accessor) } result end