Exception: TemplateRenderer::TemplateRenderError

Inherits:
TemplateError
  • Object
show all
Defined in:
lib/generators/template_renderer/template_error.rb

Overview

Raised when a template has syntax errors or rendering fails

Instance Attribute Summary

Attributes inherited from TemplateError

#original_error, #partial_name, #searched_paths

Instance Method Summary collapse

Constructor Details

#initialize(message, partial_name:, original_error: nil) ⇒ TemplateRenderError

Returns a new instance of TemplateRenderError.



32
33
34
# File 'lib/generators/template_renderer/template_error.rb', line 32

def initialize(message, partial_name:, original_error: nil)
  super(message, partial_name:, original_error:)
end

Instance Method Details

#to_sObject



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/generators/template_renderer/template_error.rb', line 36

def to_s
  message_parts = ["Error rendering partial '#{@partial_name}': #{super()}"]

  if @original_error
    message_parts << "\nOriginal error: #{@original_error.class}: #{@original_error.message}"
    if @original_error.backtrace
      message_parts << "\nBacktrace:"
      message_parts.concat(@original_error.backtrace.first(5).map { |line| "  #{line}" })
    end
  end

  message_parts.join("\n")
end