Class: Hash
Overview
:nodoc:
Instance Method Summary collapse
-
#deep_find(key, uniq: true) ⇒ nil, Object
Searches for a key in nested hashes and arrays.
Instance Method Details
#deep_find(key, uniq: true) ⇒ nil, Object
Searches for a key in nested hashes and arrays. Returns matching values or nil.
9 10 11 12 13 14 15 16 17 |
# File 'lib/extensions/deep_find.rb', line 9 def deep_find(key, uniq: true) result = collect_values(key) result.compact! result.delete_if { |i| i.is_a?(Array) && i.empty? } result.uniq! if uniq return nil if result.empty? result.size == 1 ? result.first : result end |