Skip to content

Commit

Permalink
Merge pull request #2827 from sikachu/extractable_ordered_hash
Browse files Browse the repository at this point in the history
Make `ActiveSupport::OrderedHash` extractable when using `Array#extract_options!
  • Loading branch information
josevalim committed Sep 3, 2011
2 parents 5912ed9 + 9984266 commit d50c0ac
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions activesupport/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
*Rails 3.2.0 (unreleased)*

* ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]

* Added Array#prepend as an alias for Array#unshift and Array#append as an alias for Array#<< [DHH]

* The definition of blank string for Ruby 1.9 has been extended to Unicode whitespace.
Expand Down
5 changes: 5 additions & 0 deletions activesupport/lib/active_support/ordered_hash.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ def nested_under_indifferent_access
self
end

# Returns true to make sure that this hash is extractable via <tt>Array#extract_options!</tt>
def extractable_options?
true
end

# Hash is ordered in Ruby 1.9!
if RUBY_VERSION < '1.9'

Expand Down
5 changes: 5 additions & 0 deletions activesupport/test/ordered_hash_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -329,4 +329,9 @@ def test_invert
assert_equal expected, @ordered_hash.invert
assert_equal @values.zip(@keys), @ordered_hash.invert.to_a
end

def test_extractable
@ordered_hash[:rails] = "snowman"
assert_equal @ordered_hash, [1, 2, @ordered_hash].extract_options!
end
end

0 comments on commit d50c0ac

Please sign in to comment.