Class: Textus::Produce::Render

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/produce/render.rb

Instance Method Summary collapse

Constructor Details

#initialize(template_loader:) ⇒ Render

Returns a new instance of Render.



6
7
8
# File 'lib/textus/produce/render.rb', line 6

def initialize(template_loader:)
  @template_loader = template_loader
end

Instance Method Details

#bytes_for(target:, data:, boot:) ⇒ Object

Raises:

  • (ArgumentError)


10
11
12
13
14
15
# File 'lib/textus/produce/render.rb', line 10

def bytes_for(target:, data:, boot:)
  raise ArgumentError.new("Produce::Render called for a verbatim target #{target.to.inspect}") unless target.renders?

  ctx = target.inject_boot ? data.merge("boot" => boot) : data
  Mustache.render(@template_loader.call(target.template), ctx)
end