Method: DeepHash#deep_delete

Defined in:
lib/configliere/deep_hash.rb

#deep_delete(*args) ⇒ Object

Treat hash as tree of hashes:

x = { :a => :val, :subhash => { :a => :val1, :b => :val2 } }
x.deep_delete(:subhash, :a)
#=> :val
x
#=> { :a => :val, :subhash => { :b => :val2 } }


345
346
347
348
349
# File 'lib/configliere/deep_hash.rb', line 345

def deep_delete *args
  last_key  = args.pop                                   # key to delete
  last_hsh  = args.empty? ? self : (deep_get(*args)||{}) # hsh containing that key
  last_hsh.delete(last_key)
end