Sha256: c5be0259f33d96c2c2f9eee81d2079036bef7370e05ffa8a33e862ea02311175

Contents?: true

Size: 414 Bytes

Versions: 13

Compression:

Stored size: 414 Bytes

Contents

require 'gorillib/object/blank'
module Gorillib
  module Hashlike
    module DeepCompact

      #
      # deep_compact! removes all keys with 'blank?' values in the hash, in place, recursively
      #
      def deep_compact!
        self.each do |key, val|
          val.deep_compact! if val.respond_to?(:deep_compact!)
          self.delete(key) if val.blank?
        end
        self
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
gorillib-0.4.0pre lib/gorillib/hashlike/deep_compact.rb
gorillib-0.4.1pre lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.11 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.9 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.8 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.7 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.6 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.5 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.4 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.3 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.2 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.1 lib/gorillib/hashlike/deep_compact.rb
gorillib-0.1.0 lib/gorillib/hashlike/deep_compact.rb