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