f38
parent
72f09343d0
commit
8aa8428aa2
@ -0,0 +1,61 @@
|
|||||||
|
From 7cc26fd15e27c4a13705a844538bebfdd0461729 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aaron Patterson <aaron.patterson@gmail.com>
|
||||||
|
Date: Tue, 20 Mar 2012 09:58:42 -0700
|
||||||
|
Subject: [PATCH] search private and protected methods for convert_key
|
||||||
|
|
||||||
|
---
|
||||||
|
activesupport/lib/active_support/core_ext/hash/indifferent_access.rb | 1 -
|
||||||
|
activesupport/lib/active_support/core_ext/hash/slice.rb | 4 ++--
|
||||||
|
activesupport/lib/active_support/hash_with_indifferent_access.rb | 2 +-
|
||||||
|
3 files changed, 3 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb b/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb
|
||||||
|
index 7d54c9f..e5042c6 100644
|
||||||
|
--- a/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb
|
||||||
|
+++ b/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb
|
||||||
|
@@ -1,7 +1,6 @@
|
||||||
|
require 'active_support/hash_with_indifferent_access'
|
||||||
|
|
||||||
|
class Hash
|
||||||
|
-
|
||||||
|
# Returns an <tt>ActiveSupport::HashWithIndifferentAccess</tt> out of its receiver:
|
||||||
|
#
|
||||||
|
# {:a => 1}.with_indifferent_access["a"] # => 1
|
||||||
|
diff --git a/activesupport/lib/active_support/core_ext/hash/slice.rb b/activesupport/lib/active_support/core_ext/hash/slice.rb
|
||||||
|
index 0484d8e..a983cae 100644
|
||||||
|
--- a/activesupport/lib/active_support/core_ext/hash/slice.rb
|
||||||
|
+++ b/activesupport/lib/active_support/core_ext/hash/slice.rb
|
||||||
|
@@ -13,7 +13,7 @@ class Hash
|
||||||
|
# valid_keys = [:mass, :velocity, :time]
|
||||||
|
# search(options.slice(*valid_keys))
|
||||||
|
def slice(*keys)
|
||||||
|
- keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key)
|
||||||
|
+ keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
|
||||||
|
hash = self.class.new
|
||||||
|
keys.each { |k| hash[k] = self[k] if has_key?(k) }
|
||||||
|
hash
|
||||||
|
@@ -23,7 +23,7 @@ class Hash
|
||||||
|
# Returns a hash contained the removed key/value pairs
|
||||||
|
# {:a => 1, :b => 2, :c => 3, :d => 4}.slice!(:a, :b) # => {:c => 3, :d => 4}
|
||||||
|
def slice!(*keys)
|
||||||
|
- keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key)
|
||||||
|
+ keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
|
||||||
|
omit = slice(*self.keys - keys)
|
||||||
|
hash = slice(*keys)
|
||||||
|
replace(hash)
|
||||||
|
diff --git a/activesupport/lib/active_support/hash_with_indifferent_access.rb b/activesupport/lib/active_support/hash_with_indifferent_access.rb
|
||||||
|
index 9e7cb76..9dc93de 100644
|
||||||
|
--- a/activesupport/lib/active_support/hash_with_indifferent_access.rb
|
||||||
|
+++ b/activesupport/lib/active_support/hash_with_indifferent_access.rb
|
||||||
|
@@ -6,7 +6,7 @@ require 'active_support/core_ext/hash/keys'
|
||||||
|
|
||||||
|
module ActiveSupport
|
||||||
|
class HashWithIndifferentAccess < Hash
|
||||||
|
-
|
||||||
|
+
|
||||||
|
# Always returns true, so that <tt>Array#extract_options!</tt> finds members of this class.
|
||||||
|
def extractable_options?
|
||||||
|
true
|
||||||
|
--
|
||||||
|
1.8.1.2
|
||||||
|
|
Loading…
Reference in new issue