Sha256: bf00cbb24d3db3ac5f6fcb28d6cf9ca1747ab285c71232d772020a197921a514
Contents?: true
Size: 1.52 KB
Versions: 2
Compression:
Stored size: 1.52 KB
Contents
module Locomotive module Steam class DefaultException < ::Exception def initialize(message = nil, parent_exception = nil) self.log_backtrace(parent_exception) if parent_exception super(message) end protected def log_backtrace(parent_exception) full_error_message = "#{parent_exception.message}\n\t" full_error_message += parent_exception.backtrace.join("\n\t") full_error_message += "\n\n" Locomotive::Common::Logger.fatal full_error_message end end class RendererException < DefaultException attr_accessor :name, :template, :liquid_context def initialize(exception, name, template, liquid_context) self.name, self.template, self.liquid_context = name, template, liquid_context self.log_page_into_backtrace(exception) super(exception.message) self.set_backtrace(exception.backtrace) end def log_page_into_backtrace(exception) line = self.template.line_offset line += (exception.respond_to?(:line) ? exception.line || 0 : 0) + 1 message = "#{self.template.filepath}:#{line}:in `#{self.name}'" Locomotive::Common::Logger.fatal "[ERROR] #{exception.message} - #{message}\n".red exception.backtrace.unshift message end end class MounterException < DefaultException end class GeneratorException < DefaultException def log_backtrace(parent_exception) # Logger not initialized at this step end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
locomotivecms_steam-0.1.2.pre.beta | lib/locomotive/steam/exceptions.rb |
locomotivecms_steam-0.1.1 | lib/locomotive/steam/exceptions.rb |