| Class | Erubis::Helper::RailsTemplate |
| In: |
erubis/helper/rails.rb
|
| Parent: | Object |
# File erubis/helper/rails.rb, line 53 def self.default_properties=(properties) @@default_properties = properties end
# File erubis/helper/rails.rb, line 39 def self.engine_class=(klass) @@engine_class = klass @@engine_instance = klass.new end
cattr_accessor :default_properties
# File erubis/helper/rails.rb, line 60 def initialize(view) @view = view #@@engine_instance ||= @@engine_class.new(nil, @@default_properties) end
# File erubis/helper/rails.rb, line 66 def convert(template) #code = @@engine_instance.convert(template) #return code engine = @@engine_class.new(nil, @@default_properties) code = engine.convert(template) return code end
# File erubis/helper/rails.rb, line 75 def render(template, assigns) ## get ruby code code = convert(template) ## use @view as context object @view.__send__(:evaluate_assigns) #or @view.instance_eval("evaluate_assigns()") context = @view ## evaluate ruby code with context object if assigns && !assigns.empty? return _evaluate_string(code, context, assigns) else return context.instance_eval(code) end end
# File erubis/helper/rails.rb, line 102 def _evaluate_string(_code, _context, _localvars) eval(_localvar_code(_localvars)) _context.instance_eval(_code) end