Class: Liquid::Renderer

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

Class Method Summary collapse

Class Method Details

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



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

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}"
    if Rails.env.production? && !options['ignore_errors'].to_b
      ErrorReporting.warning error_message
    end
    Rails.logger.warn error_message
  end
  res
end