module DuckPuncher::Ducks::Hash
Public Instance Methods
compact()
click to toggle source
# File lib/duck_puncher/ducks/hash.rb, line 21 def compact delete_if { |_, v| v.nil? } end
dig(*_keys_)
click to toggle source
# File lib/duck_puncher/ducks/hash.rb, line 5 def dig(*_keys_) last_level = self sought_value = nil _keys_.each_with_index do |_key_, _idx_| break unless last_level.respond_to?(:has_key?) break unless last_level.has_key?(_key_) if _idx_ + 1 == _keys_.length sought_value = last_level[_key_] else last_level = last_level[_key_] end end sought_value end