From b31f331bc00c45272e55a1fefa3cb7e03f83f71f Mon Sep 17 00:00:00 2001 From: Paul Mucur Date: Fri, 25 Jun 2010 15:35:11 +0100 Subject: [PATCH] Alias ActiveSupport::OrderedHash#update to ActiveSupport::OrderedHash.merge! This ensures that an OrderedHash's keys are set up appropriately when using update. --- activesupport/lib/active_support/ordered_hash.rb | 2 ++ activesupport/test/ordered_hash_test.rb | 6 ++++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/activesupport/lib/active_support/ordered_hash.rb b/activesupport/lib/active_support/ordered_hash.rb index 91de722..a19d6c3 100644 --- a/activesupport/lib/active_support/ordered_hash.rb +++ b/activesupport/lib/active_support/ordered_hash.rb @@ -149,6 +149,8 @@ module ActiveSupport self end + alias_method :update, :merge! + def merge(other_hash, &block) dup.merge!(other_hash, &block) end diff --git a/activesupport/test/ordered_hash_test.rb b/activesupport/test/ordered_hash_test.rb index 0f36f52..dca5c5d 100644 --- a/activesupport/test/ordered_hash_test.rb +++ b/activesupport/test/ordered_hash_test.rb @@ -244,4 +244,10 @@ class OrderedHashTest < Test::Unit::TestCase assert_equal @ordered_hash.keys, @deserialized_ordered_hash.keys assert_equal @ordered_hash.values, @deserialized_ordered_hash.values end + + def test_update_sets_keys + @updated_ordered_hash = ActiveSupport::OrderedHash.new + @updated_ordered_hash.update(:name => "Bob") + assert_equal [:name], @updated_ordered_hash.keys + end end -- 1.7.1