Method: Inversion::Template#render
- Defined in:
- lib/inversion/template.rb
#render(parentstate = nil, &block) ⇒ Object Also known as: to_s
Render the template, optionally passing a render state (if, for example, the template is being rendered inside another template).
346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/inversion/template.rb', line 346 def render( parentstate=nil, &block ) self.log.info "rendering template %#x" % [ self.object_id * 2 ] opts = self. opts.merge!( parentstate. ) if parentstate self.fragments.clear state = Inversion::RenderState.new( parentstate, self.attributes, opts, &block ) # self.log.debug " rendering node tree: %p" % [ @node_tree ] self.walk_tree {|node| state << node } self.log.info " done rendering template %#x: %0.4fs" % [ self.object_id/2, state.time_elapsed ] if parentstate parentstate.fragments.merge!( state.fragments ) else self.fragments.replace( state.rendered_fragments ) end return state.to_s end |