module PrelandsRails::CanHandleErrors

Private Instance Methods

error_handler(error, extra = {}) click to toggle source

Отправит ошибку в Sentry, выведет в лог красным название класса, текст ошибки и backtrace

# File lib/prelands_rails/concerns/can_handle_errors.rb, line 8
def error_handler(error, extra = {})
  error_text = ['[%s] ' % self.class, error.message].join
  Rails.logger.warn "\n\t\e[31m\e[1m%s\e[0m" % error_text
  Rails.logger.warn "\n\e[31m\t%s \e[0m\n" % (error.backtrace[0..9] *  "\n\t")
  Raven.capture_exception(error, extra: extra) if defined?(Raven)
end
report_error(error_message = context.errors, extra = {}) click to toggle source

Отправит message в Sentry, в dev/test лог скинет pretty extra info

# File lib/prelands_rails/concerns/can_handle_errors.rb, line 16
def report_error(error_message = context.errors, extra = {})
  message = ['[%s] ' % self.class, error_message].join

  if Rails.env.test? || Rails.env.development?
    div = '-' * 120
    Rails.logger.warn div
    Rails.logger.warn "\e[31m\e[1m%s\e[0m\n" % message
    # Rails.logger.ap extra
    Rails.logger.warn div
  else
    Raven.capture_message(message, extra: extra) if defined?(Raven)
  end

end