class Object
Public Instance Methods
arrays_match?(actual, expected)
click to toggle source
# File lib/eq_wo_order.rb, line 21 def arrays_match?(actual, expected) return false unless actual.length == expected.length expected.all? do |expected_item| actual.any? do |candidate| eq_wo_order(candidate, expected_item) end end end
eq_wo_order(actual, expected)
click to toggle source
# File lib/eq_wo_order.rb, line 8 def eq_wo_order(actual, expected) return false unless actual.class == expected.class case actual when Array arrays_match?(actual, expected) when Hash hashes_match?(actual, expected) else actual == expected end end
hashes_match?(actual, expected)
click to toggle source
# File lib/eq_wo_order.rb, line 30 def hashes_match?(actual, expected) return false unless arrays_match?(actual.keys, expected.keys) expected.all? do |expected_key, expected_value| eq_wo_order(actual[expected_key], expected_value) end end