mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add more standard Hash methods to ActiveSupport::OrderedHash [#314 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
parent
d54d90f2b5
commit
7cfa6ec8a3
3 changed files with 37 additions and 0 deletions
|
@ -1,5 +1,9 @@
|
|||
*Edge*
|
||||
|
||||
* Add more standard Hash methods to ActiveSupport::OrderedHash [Steve Purcell]
|
||||
|
||||
* Namespace Inflector, Dependencies, OrderedOptions, and TimeZone under ActiveSupport [Josh Peek]
|
||||
|
||||
* Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:resolved] (Danger)
|
||||
|
||||
|
||||
|
|
|
@ -38,6 +38,20 @@ module ActiveSupport
|
|||
each { |array| hash[array[0]] = array[1] }
|
||||
end
|
||||
end
|
||||
|
||||
def has_key?(k)
|
||||
!assoc(k).nil?
|
||||
end
|
||||
|
||||
alias_method :key?, :has_key?
|
||||
alias_method :include?, :has_key?
|
||||
alias_method :member?, :has_key?
|
||||
|
||||
def has_value?(v)
|
||||
any? { |key, value| value == v }
|
||||
end
|
||||
|
||||
alias_method :value?, :has_value?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -42,4 +42,23 @@ class OrderedHashTest < Test::Unit::TestCase
|
|||
|
||||
assert_nil @ordered_hash.delete(bad_key)
|
||||
end
|
||||
|
||||
def test_has_key
|
||||
assert_equal true, @ordered_hash.has_key?('blue')
|
||||
assert_equal true, @ordered_hash.key?('blue')
|
||||
assert_equal true, @ordered_hash.include?('blue')
|
||||
assert_equal true, @ordered_hash.member?('blue')
|
||||
|
||||
assert_equal false, @ordered_hash.has_key?('indigo')
|
||||
assert_equal false, @ordered_hash.key?('indigo')
|
||||
assert_equal false, @ordered_hash.include?('indigo')
|
||||
assert_equal false, @ordered_hash.member?('indigo')
|
||||
end
|
||||
|
||||
def test_has_value
|
||||
assert_equal true, @ordered_hash.has_value?('000099')
|
||||
assert_equal true, @ordered_hash.value?('000099')
|
||||
assert_equal false, @ordered_hash.has_value?('ABCABC')
|
||||
assert_equal false, @ordered_hash.value?('ABCABC')
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue