Method: Molder::Renderer#render

Defined in:
lib/molder/renderer.rb

#render(params) ⇒ Object

Render given content using expanded params.



79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/molder/renderer.rb', line 79

def render(params)
  attributes      = expand_arguments(Hashie.stringify_keys(params.to_h))
  liquid_template = Liquid::Template.parse(template)

  liquid_template.render(attributes, **render_opts).tap do
    unless liquid_template.errors.empty?
      raise LiquidTemplateError, "#{liquid_template.errors.map(&:message).join("\n")}"
    end
  end.gsub(/\n/, ' ').gsub(/\s{2,}/, ' ').strip
rescue ArgumentError => e
  raise UnresolvedReferenceError.new(e)
end