Class: WarehouseSupervisor::ProgramRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/warehouse_supervisor/program_renderer.rb

Instance Method Summary collapse

Constructor Details

#initialize(definitions, erb_content) ⇒ ProgramRenderer

Returns a new instance of ProgramRenderer.



7
8
9
10
# File 'lib/warehouse_supervisor/program_renderer.rb', line 7

def initialize(definitions, erb_content)
  @definitions = definitions
  @erb_content = erb_content
end

Instance Method Details

#render(program_name) ⇒ Object



12
13
14
15
16
# File 'lib/warehouse_supervisor/program_renderer.rb', line 12

def render(program_name)
  program_definition = TemplateBinding.new(program_name, @definitions[program_name])
  ERB.new(@erb_content, nil, nil, "@output").result(program_definition.get_binding).gsub(/^$\n/, "").gsub(/^[\s]+/, "")
  program_definition._output.gsub(/^$\n/, "").gsub(/^[\s]+/, "")
end