Sha256: 82411f2564aa1a838c7e7332535ade1f0e963cab82d4f6ed703b7ceb13f9e07a
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
module Wee # # Base class of all Renderer classes. # class Renderer attr_accessor :session attr_accessor :request attr_accessor :response attr_accessor :callbacks attr_accessor :document attr_accessor :current_component def initialize(session=nil, request=nil, response=nil, callbacks=nil, document=nil, current_component=nil) @session = session @request = request @response = response @callbacks = callbacks @document = document @current_component = current_component end def with(component) rclass = component.renderer_class if rclass == self # reuse renderer old_component = @current_component begin @current_component = component yield self ensure @current_component = old_component end else close r = rclass.new(@session, @request, @response, @callbacks, @document, component) begin yield r ensure r.close end end end # # NOTE: unregister will do nothing for a regular request, only # for an AJAX request. Only if you would render one and the # same component twice it would behave differently. # def render(component) close self.callbacks.unregister(component) component.decoration.render!(self) nil end def render_decoration(decoration) close self.callbacks.unregister(decoration) decoration.render!(self) nil end # # Subclass responsibility. # def close end end # class Renderer end # module Wee
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mullen-wee-2.2.0 | lib/wee/renderer.rb |