class ZERB

Public Class Methods

new(template) click to toggle source
# File lib/zarchitect/zerb.rb, line 16
def initialize(template)
  @@template_stack.push(template)
  @template = template
end

Public Instance Methods

handle_data(hash) click to toggle source
# File lib/zarchitect/zerb.rb, line 37
def handle_data(hash)
  @data = hash
  hash.each do |k,v|
    if instance_variable_defined?("@#{k}")
      GPI.print "Error: Data key invalid #{k} - already defined"
      GPI.quit
    end
    instance_variable_set("@#{k}", v)
  end
end
output() click to toggle source
# File lib/zarchitect/zerb.rb, line 32
def output
  @@template_stack.pop
  @out
end
prepare() click to toggle source
# File lib/zarchitect/zerb.rb, line 21
def prepare
  GPI.print "ZERB preparing #{@template}",
    GPI::CLU.check_option('v')
  @renderer = ERB.new(File.open(@template) { |f| f.read})
end
render() click to toggle source
# File lib/zarchitect/zerb.rb, line 28
def render
  @out = @renderer.result(binding())
end