class FixerUpper::Renderer
Attributes
engines[R]
Public Class Methods
new(engine_registry:, filename:, content:, engines:, view_scope: nil, block: nil)
click to toggle source
# 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
Public Instance Methods
call()
click to toggle source
# 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
Private Instance Methods
compute_extensions()
click to toggle source
# File lib/fixer_upper/renderer.rb, line 40 def compute_extensions basename = File.basename(@filename) basename.split(".")[1..-1] end
render_engine(engine, memo)
click to toggle source
# File lib/fixer_upper/renderer.rb, line 32 def render_engine(engine, memo) fixer_upper_engine_class = @engine_registry[engine] fixer_upper_engine = fixer_upper_engine_class.new(@filename, memo) fixer_upper_engine.render(@view_scope, &@block) end