Class: Markaby::Template

Inherits:
Object
  • Object
show all
Defined in:
lib/merb_markaby/template.rb

Instance Method Summary collapse

Instance Method Details

#def_method(object, name, filename = nil) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/merb_markaby/template.rb', line 58

def def_method(object, name, filename=nil)
  m = object.is_a?(Module) ? :module_eval : :instance_eval
  setup = "@_engine = 'mab'"
  method_body = <<-END_OF_METHOD
    def #{name}(assigns={})
      #{setup}
      if $DEBUG
        require 'ruby-debug'
        debugger
      end
      assigns.merge!(@_merb_partial_locals) if @_merb_partial_locals
      mab = Markaby::Builder.new(assigns, self) {#{@template}}.to_s
    end
  END_OF_METHOD
  object.__send__(m, method_body, filename || @filename || 'merb_markaby/lib/merb_markaby/template.rb')      
end