Class: Filegen::Rubygen

Inherits:
Object
  • Object
show all
Defined in:
lib/filegen/rubygen.rb

Overview

Generator for ruby code

Instance Method Summary collapse

Instance Method Details

#run(source, data) ⇒ String

Generate text

Parameters:

  • source (String)

    The template used

  • data (Hash)

    The data used within template evaluation

Returns:

  • (String)

    The evaluated template



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/filegen/rubygen.rb', line 13

def run(source, data)
  result = StringIO.new
  source = StringIO.new(source)

  begin
    generator = ErbGenerator.new(Data.new([HashWithIndifferentAccess.new(data)]))
    generator.compile(source, result)
  rescue RuntimeError => e
    Filegen::Ui.error e.message
  rescue Exceptions::ErbTemplateHasSyntaxErrors => e
    Filegen::Ui.error "Syntax error in ERB-Template: \n" + e.message
  end

  result.string
end