diff options
Diffstat (limited to 'spec/support/doubles/hash.rb')
-rw-r--r-- | spec/support/doubles/hash.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/support/doubles/hash.rb b/spec/support/doubles/hash.rb new file mode 100644 index 0000000000..fd9edd34ad --- /dev/null +++ b/spec/support/doubles/hash.rb @@ -0,0 +1,27 @@ +class Hash + def ordered_array + to_a.sort { |(key1, value1), (key2, value2)| key1.hash <=> key2.hash } + end + + undef :keys + def keys + ordered_array.collect(&:first) + end + + undef :values + def values + ordered_array.collect { |_, v| v } + end + + undef :each + def each(&block) + ordered_array.each(&block) + end + + undef :shift + def shift + returning to_a.first do |k, v| + delete(k) + end + end +end |