| Class | Tilt::RadiusTemplate |
| In: |
lib/tilt/radius.rb
|
| Parent: | Template |
Radius Template github.com/jlong/radius/
# File lib/tilt/radius.rb, line 11
11: def self.context_class
12: @context_class ||= Class.new(Radius::Context) do
13: attr_accessor :tilt_scope
14:
15: def tag_missing(name, attributes)
16: tilt_scope.__send__(name)
17: end
18:
19: def dup
20: i = super
21: i.tilt_scope = tilt_scope
22: i
23: end
24: end
25: end
# File lib/tilt/radius.rb, line 19
19: def dup
20: i = super
21: i.tilt_scope = tilt_scope
22: i
23: end
# File lib/tilt/radius.rb, line 34
34: def evaluate(scope, locals, &block)
35: context = self.class.context_class.new
36: context.tilt_scope = scope
37: context.define_tag("yield") do
38: block.call
39: end
40: locals.each do |tag, value|
41: context.define_tag(tag) do
42: value
43: end
44: end
45:
46: options = {:tag_prefix => 'r'}.merge(@options)
47: parser = Radius::Parser.new(context, options)
48: parser.parse(data)
49: end
# File lib/tilt/radius.rb, line 27
27: def initialize_engine
28: require_template_library 'radius'
29: end