class Locomotive::Common::DefaultException

Attributes

notifier[RW]

Public Class Methods

new(message = nil, parent_exception = nil) click to toggle source
Calls superclass method
# File lib/locomotive/common/exception.rb, line 8
def initialize(message = nil, parent_exception = nil)
  self.notifier = Locomotive::Common.configuration.notifier
  log_backtrace(parent_exception) if parent_exception
  super(message)
  init_plugins
end

Public Instance Methods

init_plugins() click to toggle source
# File lib/locomotive/common/exception.rb, line 15
def init_plugins
  @plugins = []
  ::Plugins.constants.each do |name|
    @plugins << ::Plugins.const_get(name).new(self)
  end
rescue NameError
end

Protected Instance Methods

log_backtrace(parent_exception) click to toggle source
# File lib/locomotive/common/exception.rb, line 25
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"

  notifier.fatal full_error_message
end