Class: Silicon::ViewBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/silicon/view_builder.rb

Direct Known Subclasses

Silicon::ViewBuilders::Json

Instance Method Summary collapse

Constructor Details

#initialize(template, container) ⇒ ViewBuilder

Returns a new instance of ViewBuilder.



3
4
5
6
7
# File 'lib/silicon/view_builder.rb', line 3

def initialize(template, container)
  @template = template
  @container = container
  @variables = template.scan(/@[a-z_][a-zA-Z_0-9]*/).uniq
end

Instance Method Details

#processObject



9
10
11
12
13
14
15
16
# File 'lib/silicon/view_builder.rb', line 9

def process
  @variables.each do |variable|
    value = @container.resolve(variable.sub('@', '').to_sym)
    instance_variable_set variable, value
  end

  build
end