Class: Eyeloupe::Processors::Exception

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/eyeloupe/processors/exception.rb

Instance Method Summary collapse

Instance Method Details

#process(env, exception) ⇒ Eyeloupe::Exception

Returns The exception model.

Parameters:

  • env (Hash, nil)

    Rack environment

  • exception (Exception)

    The exception object

Returns:



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/eyeloupe/processors/exception.rb', line 10

def process(env, exception)
  if env && env['action_dispatch.backtrace_cleaner'].present?
    backtrace = env['action_dispatch.backtrace_cleaner'].filter(exception.backtrace)
    backtrace = exception.backtrace if backtrace.blank?
  else
    backtrace = exception.backtrace
  end

  file = backtrace ? backtrace[0].split(":")[0] : ""
  line = backtrace ? backtrace[0].split(":")[1].to_i : 0

  create_or_update_exception(exception.class.name || "", file, line, backtrace, exception.message, exception.full_message)
end