Method: HashMap.deep_reject

Defined in:
lib/hash_map.rb

.deep_reject(hash, &block) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/hash_map.rb', line 20

def self.deep_reject(hash, &block)
  hash.each_with_object(Fusu::HashWithIndifferentAccess.new) do |(k, v), memo|
    unless block.call(k, v)
      if v.is_a?(Hash)
        memo[k] = deep_reject(v, &block)
      else
        memo[k] = v
      end
    end
  end
end