public
Fork of rails/rails
Description: Ruby on Rails
Homepage: http://rubyonrails.org
Clone URL: git://github.com/josh/rails.git
Search Repo:
Add more standard Hash methods to ActiveSupport::OrderedHash [#314 
state:resolved]

Signed-off-by: Joshua Peek <josh@joshpeek.com>
purcell (author)
Tue Jun 03 12:15:33 -0700 2008
josh (committer)
Tue Jun 03 12:15:33 -0700 2008
commit  7cfa6ec8a37b70ec302f09929df5160ac42971e7
tree    3ecd1a74837cba3c74513081ce35aff84fe8e74b
parent  d54d90f2b590c763fe710482a9b993923fe03ec0
...
1
2
 
 
 
 
3
4
5
...
1
2
3
4
5
6
7
8
9
0
@@ -1,5 +1,9 @@
0
 *Edge*
0
 
0
+* Add more standard Hash methods to ActiveSupport::OrderedHash [Steve Purcell]
0
+
0
+* Namespace Inflector, Dependencies, OrderedOptions, and TimeZone under ActiveSupport [Josh Peek]
0
+
0
 * Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:resolved] (Danger)
0
 
0
 
...
38
39
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
42
43
...
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
0
@@ -38,6 +38,20 @@ module ActiveSupport
0
           each { |array| hash[array[0]] = array[1] }
0
         end
0
       end
0
+
0
+ def has_key?(k)
0
+ !assoc(k).nil?
0
+ end
0
+
0
+ alias_method :key?, :has_key?
0
+ alias_method :include?, :has_key?
0
+ alias_method :member?, :has_key?
0
+
0
+ def has_value?(v)
0
+ any? { |key, value| value == v }
0
+ end
0
+
0
+ alias_method :value?, :has_value?
0
     end
0
   end
0
 end
...
42
43
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
0
@@ -42,4 +42,23 @@ class OrderedHashTest < Test::Unit::TestCase
0
 
0
     assert_nil @ordered_hash.delete(bad_key)
0
   end
0
+
0
+ def test_has_key
0
+ assert_equal true, @ordered_hash.has_key?('blue')
0
+ assert_equal true, @ordered_hash.key?('blue')
0
+ assert_equal true, @ordered_hash.include?('blue')
0
+ assert_equal true, @ordered_hash.member?('blue')
0
+
0
+ assert_equal false, @ordered_hash.has_key?('indigo')
0
+ assert_equal false, @ordered_hash.key?('indigo')
0
+ assert_equal false, @ordered_hash.include?('indigo')
0
+ assert_equal false, @ordered_hash.member?('indigo')
0
+ end
0
+
0
+ def test_has_value
0
+ assert_equal true, @ordered_hash.has_value?('000099')
0
+ assert_equal true, @ordered_hash.value?('000099')
0
+ assert_equal false, @ordered_hash.has_value?('ABCABC')
0
+ assert_equal false, @ordered_hash.value?('ABCABC')
0
+ end
0
 end

Comments

    No one has commented yet.