Class: Blocks::AdjacentBlocksRenderer

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

Class Method Summary collapse

Class Method Details

.render(hook, runtime_context) ⇒ Object



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

def self.render(hook, runtime_context)
  hooks = runtime_context.hooks_for hook
  if hooks.present?
    output_buffer = runtime_context.output_buffer
    hooks = hooks.reverse if hook.to_s.index("before") == 0 || hook.to_s.index("prepend") == 0
    hooks.each do |hook_definition|
      hook_runtime_context = runtime_context.extend_from_definition(hook_definition, &hook_definition.runtime_block)
      output_buffer << BlockWithHooksRenderer.render(hook_runtime_context)
    end
  end
end