class Rcurse::Engine
Public Class Methods
render(content, context = Context.new)
click to toggle source
# File lib/rcurse/engine.rb, line 3 def self.render content, context = Context.new content.gsub /{({|%=|%)(.+?)[}|%]}/ do |s| result = s case $1 when "{" s = $2.chomp.split(" ") name = s[0] args = s[1..s.length] if Rcurse::helpers[name].is_a? Rcurse::Helper then result = Rcurse::helpers[name].callback.call(args, context) end when "%" context.eval($2) result = "" when "%=" result = context.eval($2) end result end end
render_file(filename, out_filename, context = Context.new)
click to toggle source
# File lib/rcurse/engine.rb, line 26 def self.render_file filename, out_filename, context = Context.new content = File.read(filename) context.path = File.dirname(filename) rendered_content = self.render(content, context) File.open(out_filename, "w+") do |file| file.write(rendered_content) end end