Sha256: 5e26b45a41e878e8114c98073f740bac4a4d9c6c7a3459a64eb14ad173a70536

Contents?: true

Size: 420 Bytes

Versions: 2

Compression:

Stored size: 420 Bytes

Contents

require 'gorillib/object/blank'

#
# deep_compact! removes all 'blank?' elements in the array in place, recursively
#
class Array
  def deep_compact!
    self.map! do |val|
      case val
      when Hash
        val = val.deep_compact!
      when Array
        val = val.deep_compact!
      when String
        val = nil if val.blank?
      end
      val
    end
    self.compact!
    self.blank? ? nil : self
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gorillib-0.0.7 lib/gorillib/array/deep_compact.rb
gorillib-0.0.6 lib/gorillib/array/deep_compact.rb