From fcd52b06f2c6925aa0b405252197e74f7ac1db22 Mon Sep 17 00:00:00 2001 From: Ken Collins Date: Sat, 9 May 2009 18:35:31 -0400 Subject: [PATCH] ActiveSupport::OrderedHash#to_a method returns an ordered set of arrays. Matches ruby1.9's Hash#to_a. --- activesupport/lib/active_support/ordered_hash.rb | 4 ++++ activesupport/test/ordered_hash_test.rb | 4 ++++ 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 fed8094..680ed21 100644 --- a/activesupport/lib/active_support/ordered_hash.rb +++ b/activesupport/lib/active_support/ordered_hash.rb @@ -56,6 +56,10 @@ module ActiveSupport def to_hash self end + + def to_a + @keys.map { |key| [ key, self[key] ] } + end def each_key @keys.each { |key| yield key } diff --git a/activesupport/test/ordered_hash_test.rb b/activesupport/test/ordered_hash_test.rb index 7cd8c8a..4e164cf 100644 --- a/activesupport/test/ordered_hash_test.rb +++ b/activesupport/test/ordered_hash_test.rb @@ -50,6 +50,10 @@ class OrderedHashTest < Test::Unit::TestCase def test_to_hash assert_same @ordered_hash, @ordered_hash.to_hash end + + def test_to_a + assert_equal @keys.zip(@values), @ordered_hash.to_a + end def test_has_key assert_equal true, @ordered_hash.has_key?('blue') -- 1.6.1