Radius Template github.com/jlong/radius/
# File lib/tilt/radius.rb, line 11 def self.context_class @context_class ||= Class.new(Radius::Context) do attr_accessor :tilt_scope def tag_missing(name, attributes) tilt_scope.__send__(name) end def dup i = super i.tilt_scope = tilt_scope i end end end
# File lib/tilt/radius.rb, line 7 def self.engine_initialized? defined? ::Radius end
# File lib/tilt/radius.rb, line 19 def dup i = super i.tilt_scope = tilt_scope i end
# File lib/tilt/radius.rb, line 34 def evaluate(scope, locals, &block) context = self.class.context_class.new context.tilt_scope = scope context.define_tag("yield") do block.call end locals.each do |tag, value| context.define_tag(tag) do value end end options = {:tag_prefix => 'r'}.merge(@options) parser = Radius::Parser.new(context, options) parser.parse(data) end
# File lib/tilt/radius.rb, line 27 def initialize_engine require_template_library 'radius' end
# File lib/tilt/radius.rb, line 31 def prepare end
# File lib/tilt/radius.rb, line 15 def tag_missing(name, attributes) tilt_scope.__send__(name) end