提交 449cf50d 编写于 作者: C chaitanyav 提交者: José Valim

Add OrderedHash#invert to preserve order in ruby 1.8

Signed-off-by: NJosé Valim <jose.valim@gmail.com>
上级 05defcd6
...@@ -147,6 +147,10 @@ def replace(other) ...@@ -147,6 +147,10 @@ def replace(other)
self self
end end
def invert
OrderedHash[self.to_a.map!{|key_value_pair| key_value_pair.reverse}]
end
def inspect def inspect
"#<OrderedHash #{super}>" "#<OrderedHash #{super}>"
end end
......
...@@ -228,4 +228,10 @@ def test_update_sets_keys ...@@ -228,4 +228,10 @@ def test_update_sets_keys
@updated_ordered_hash.update(:name => "Bob") @updated_ordered_hash.update(:name => "Bob")
assert_equal [:name], @updated_ordered_hash.keys assert_equal [:name], @updated_ordered_hash.keys
end 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 end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册