Add OrderedHash#invert to preserve order in ruby 1.8 [#4875]
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
parent
d4e1a2ef0d
commit
9958950f78
@ -162,6 +162,10 @@ def replace(other)
|
||||
self
|
||||
end
|
||||
|
||||
def invert
|
||||
OrderedHash[self.to_a.map!{|key_value_pair| key_value_pair.reverse}]
|
||||
end
|
||||
|
||||
def inspect
|
||||
"#<OrderedHash #{super}>"
|
||||
end
|
||||
|
@ -257,4 +257,10 @@ def test_update_sets_keys
|
||||
@updated_ordered_hash.update(:name => "Bob")
|
||||
assert_equal [:name], @updated_ordered_hash.keys
|
||||
end
|
||||
|
||||
def test_invert
|
||||
@ordered_hash = ActiveSupport::OrderedHash[[["foo", "FOO"], ["bar", "BAR"]]]
|
||||
@inverted_ordered_hash = @ordered_hash.invert
|
||||
assert_equal [["FOO", "foo"], ["BAR", "bar"]], @inverted_ordered_hash.to_a
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user