Class: Lono::Template::Dsl::Builder::HashSqueezer

Inherits:
Object
  • Object
show all
Defined in:
lib/lono/template/dsl/builder/hash_squeezer.rb

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ HashSqueezer

Returns a new instance of HashSqueezer.



4
5
6
# File 'lib/lono/template/dsl/builder/hash_squeezer.rb', line 4

def initialize(data)
  @data = data
end

Instance Method Details

#squeeze(new_data = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/lono/template/dsl/builder/hash_squeezer.rb', line 8

def squeeze(new_data=nil)
  data = new_data || @data
  data.each_with_object({}) do |(k, v), squeezed|
    if v.is_a?(Hash)
      squeezed[k] = squeeze(v)
    else
      squeezed[k] = v unless v.nil?
    end
    squeezed
  end
end