Class: Pkgman::Descriptor::Wrapper

Inherits:
Hash
  • Object
show all
Defined in:
lib/pkgman/descriptor.rb

Instance Method Summary collapse

Instance Method Details

#[](name) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pkgman/descriptor.rb', line 18

def [](name)
  val = super(name)
  case val
  when Hash
    self[name] = Wrapper.new.merge(val) unless val.kind_of?(Wrapper)
    super(name)
  when Array
    self[name] = val.map { |it| it.kind_of?(Hash) ? Wrapper.new.merge(it) : it }
    super(name)
  when String
    Liquid::Template.parse(val).render(self)
  else
    val
  end
end