Class: FixerUpper::Renderer

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine_registry:, filename:, content:, engines:, view_scope: nil, block: nil) ⇒ Renderer

Returns a new instance of Renderer.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/fixer_upper/renderer.rb', line 5

def initialize(engine_registry:,
  filename:,
  content:,
  engines:,
  view_scope: nil,
  block: nil)
  @engine_registry = engine_registry

  @filename = filename
  @content = content
  @engines = engines || []
  @view_scope = view_scope
  @block = block
end

Instance Attribute Details

#enginesObject (readonly)

Returns the value of attribute engines.



3
4
5
# File 'lib/fixer_upper/renderer.rb', line 3

def engines
  @engines
end

Instance Method Details

#callObject



20
21
22
23
24
25
26
27
28
# File 'lib/fixer_upper/renderer.rb', line 20

def call
  @engines.reduce(@content) do |memo, engine|
    if @engine_registry.engine?(engine)
      render_engine(engine, memo)
    else
      memo
    end
  end
end