Class: Blocks::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/blocks/renderers/renderer.rb

Class Method Summary collapse

Class Method Details

.deferred_render(builder, *args, &block) ⇒ Object

TODO: this needs to be handled by a new renderer

TODO: also get rid of BlockPlaceholder


18
19
20
21
# File 'lib/blocks/renderers/renderer.rb', line 18

def self.deferred_render(builder, *args, &block)
  block_definition = builder.define(*args, &block)
  Blocks::BlockPlaceholder.new(block_definition)
end

.render(builder, *args, &default_definition) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/blocks/renderers/renderer.rb', line 5

def self.render(builder, *args, &default_definition)
  options = args.extract_options!
  runtime_context = if !options.is_a?(RuntimeContext)
    RuntimeContext.build(builder, *args, options, &default_definition)
  else
    options
  end

  BlockWithHooksRenderer.render(runtime_context)
end