Sha256: f310aeecdb2eb8727ffeab872930be29680838dc3bdfcb51ba49083ee5931796

Contents?: true

Size: 532 Bytes

Versions: 22

Compression:

Stored size: 532 Bytes

Contents

class Lono::Template::Strategy::Dsl::Builder
  class Squeezer
    def initialize(data)
      @data = data
    end

    def squeeze(new_data=nil)
      data = new_data.nil? ? @data : new_data

      case data
      when Array
        data.map! { |v| squeeze(v) }
      when Hash
        data.each_with_object({}) do |(k,v), squeezed|
          squeezed[k] = squeeze(v) unless v.nil? # only remove nil values within Hash structures
          squeezed
        end
      else
        data # do not transform
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
lono-7.4.7 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.6 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.5 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.4 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.3 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.2 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.1 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.4.0 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.3.2 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.3.1 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.3.0 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.2.3 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.2.2 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.2.1 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.2.0 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.1.0 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.0.5 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.0.4 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.0.3 lib/lono/template/strategy/dsl/builder/squeezer.rb
lono-7.0.2 lib/lono/template/strategy/dsl/builder/squeezer.rb