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