class LtdTemplate::Value::Code_Block
Attributes
code[R]
Public Class Methods
new(template, code)
click to toggle source
Calls superclass method
LtdTemplate::Value::new
# File lib/ltdtemplate/value/code_block.rb, line 20 def initialize (template, code) super template @code = code end
Public Instance Methods
evaluate(opts = {})
click to toggle source
Evaluate supported methods on code blocks. Most methods are passed to the code block.
# File lib/ltdtemplate/value/code_block.rb, line 27 def evaluate (opts = {}) case opts[:method] when nil then self when 'class' then 'Code' when 'type' then 'code' else @template.push_namespace opts[:method], opts[:parameters], :target => (opts[:target] || self) result = rubyversed(@code).evaluate @template.pop_namespace result end end
tpl_text()
click to toggle source
In contrast to an implied code block, an uncalled explicit code block generates no template output.
# File lib/ltdtemplate/value/code_block.rb, line 43 def tpl_text; ''; end