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 |