Method: Hash.deep_indifferent_case_insensitive_access
- Defined in:
- lib/scimitar/support/hash_with_indifferent_case_insensitive_access.rb
.deep_indifferent_case_insensitive_access(object) ⇒ Object
Supports #with_indifferent_case_insensitive_access. Converts the given item to indifferent, case-insensitive access as a Hash; or converts Array items if given an Array; or returns the given object.
Hashes and Arrays at all depths are duplicated as a result.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/scimitar/support/hash_with_indifferent_case_insensitive_access.rb', line 24 def self.deep_indifferent_case_insensitive_access(object) if object.is_a?(Hash) new_hash = Scimitar::Support::HashWithIndifferentCaseInsensitiveAccess.new object.each do | key, value | new_hash[key] = deep_indifferent_case_insensitive_access(value) end new_hash elsif object.is_a?(Array) object.map do | array_entry | deep_indifferent_case_insensitive_access(array_entry) end else object end end |