class Innate::Etanni

Constants

CHOMP
REPLACEMENT
SEPARATOR
START
STOP

Public Class Methods

new(template, filename = '') click to toggle source
# File lib/innate/view/etanni.rb, line 21
def initialize(template, filename = '<Etanni>')
  @template = template
  @filename = filename
  compile
end

Public Instance Methods

compile(filename = @filename) click to toggle source
# File lib/innate/view/etanni.rb, line 27
def compile(filename = @filename)
  temp = @template.strip
  temp.gsub!(/<\?r\s+(.*?)\s+\?>/m, REPLACEMENT)
  @compiled = eval("Proc.new{ _out_ = [#{CHOMP}]\n#{temp}#{STOP}_out_.join }",
    nil, @filename)
end
result(instance, filename = @filename) click to toggle source
# File lib/innate/view/etanni.rb, line 34
def result(instance, filename = @filename)
  instance.instance_eval(&@compiled)
end