Method: Hash#deep_compact!
- Defined in:
- lib/morpheus/ext/hash.rb
#deep_compact! ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/morpheus/ext/hash.rb', line 43 def deep_compact! self.each_pair do |k, v| if v.is_a?(Hash) self[k].deep_compact! elsif v.is_a?(Array) self[k].each do |it| if it.is_a?(Hash) it.deep_compact! elsif self[k] == nil || self[k] == '' # meh, preserve 'empty' array elements end end else if self[k] == nil || self[k] == '' self.delete(k) end end end self end |