Class: Liquid::Renderer

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

Overview

Library code: renderer.

Class Method Summary collapse

Class Method Details

.render(template_instance, options = nil, context = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/lib/liquid/renderer.rb', line 7

def self.render(template_instance, options = nil, context = nil)
  options ||= {}
  options.stringify_keys!

  res = template_instance.render options, { strict_variables: false, strict_filters: false }
  if template_instance.errors.present?
    terse_options = options.dup.transform_values { |v| v.to_s.truncate(20) }
    error_message = "#{context || 'Unknown context'}: #{template_instance.errors.join(', ')}. Options: #{terse_options.inspect}"
    ErrorReporting.warning error_message if Rails.env.production? && !options['ignore_errors'].to_b
    Rails.logger.warn error_message
  end
  res
end