Class: Blocks::Renderer
- Inherits:
-
Object
- Object
- Blocks::Renderer
- Defined in:
- lib/blocks/renderers/renderer.rb
Instance Attribute Summary collapse
-
#builder ⇒ Object
Returns the value of attribute builder.
Instance Method Summary collapse
-
#deferred_render(*args, &block) ⇒ Object
TODO: this needs to be handled by a new renderer TODO: also get rid of BlockPlaceholder.
-
#initialize(builder) ⇒ Renderer
constructor
A new instance of Renderer.
-
#render_with_overrides(*args, &block) ⇒ Object
TODO: this needs to be handled by a new renderer.
Constructor Details
#initialize(builder) ⇒ Renderer
Returns a new instance of Renderer.
6 7 8 |
# File 'lib/blocks/renderers/renderer.rb', line 6 def initialize(builder) self.builder = builder end |
Instance Attribute Details
#builder ⇒ Object
Returns the value of attribute builder.
3 4 5 |
# File 'lib/blocks/renderers/renderer.rb', line 3 def builder @builder end |
Instance Method Details
#deferred_render(*args, &block) ⇒ Object
TODO: this needs to be handled by a new renderer
TODO: also get rid of BlockPlaceholder
26 27 28 29 |
# File 'lib/blocks/renderers/renderer.rb', line 26 def deferred_render(*args, &block) block_definition = builder.define(*args, &block) Blocks::BlockPlaceholder.new(block_definition) end |
#render_with_overrides(*args, &block) ⇒ Object
TODO: this needs to be handled by a new renderer
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/blocks/renderers/renderer.rb', line 11 def render_with_overrides(*args, &block) = args. name = args.first if name.is_a?(Symbol) || name.is_a?(String) # TODO: block needs to be handled differently so as to provide overrides block_with_hooks_renderer.render(*args, , &block) elsif [:partial] partial_renderer.render(.delete(:partial), , &block) else # TODO: handle other possible rendering methods such as a custom renderer end end |