Method: CacheDebugging::Utils.deep_flatten
- Defined in:
- lib/cache_debugging/utils.rb
.deep_flatten(array_or_hash) ⇒ Object
recursively flatten complex array/hash objects
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/cache_debugging/utils.rb', line 5 def self.deep_flatten(array_or_hash) case array_or_hash when Array array_or_hash.map do |value| if value.is_a?(Hash) || value.is_a?(Array) deep_flatten(value) else value end end.flatten when Hash deep_flatten(array_or_hash.keys + array_or_hash.values) end end |