class Tilt::RadiusTemplate

Radius Template github.com/jlong/radius/

Public Class Methods

context_class() click to toggle source
# File lib/tilt/radius.rb, line 8
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

Public Instance Methods

allows_script?() click to toggle source
# File lib/tilt/radius.rb, line 44
def allows_script?
  false
end
dup() click to toggle source
Calls superclass method
# File lib/tilt/radius.rb, line 16
def dup
  i = super
  i.tilt_scope = tilt_scope
  i
end
evaluate(scope, locals, &block) click to toggle source
# File lib/tilt/radius.rb, line 27
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
prepare() click to toggle source
# File lib/tilt/radius.rb, line 24
def prepare
end
tag_missing(name, attributes) click to toggle source
# File lib/tilt/radius.rb, line 12
def tag_missing(name, attributes)
  tilt_scope.__send__(name)
end