Class: RailsExceptionHandler::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_exception_handler/parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(exception, request, controller) ⇒ Parser

Returns a new instance of Parser.



2
3
4
5
6
# File 'lib/rails_exception_handler/parser.rb', line 2

def initialize(exception, request, controller)
  @exception = exception
  @request  = request
  @controller = controller
end

Instance Method Details

#ignore?Boolean

Returns:

  • (Boolean)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rails_exception_handler/parser.rb', line 23

def ignore?
  filters = RailsExceptionHandler.configuration.filters
  filters.each do |filter|
    if(filter.class == Symbol)
      result = send("filter_#{filter}")
    elsif(filter.class == Hash)
      result = send("filter_#{filter.keys[0]}", filter.values[0])
    else
      raise "RailsExceptionHandler: Unknown filter #{filter.inspect}"
    end
    return true if(result)
  end
  return false
end

#relevant_infoObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rails_exception_handler/parser.rb', line 8

def relevant_info
  info = {}
  info[:app_name] =     Rails.application.class.parent_name
  info[:class_name] =   @exception.class.to_s
  info[:message] =      @exception.to_s
  info[:trace] =        @exception.backtrace.join("\n")
  info[:target_url] =   @request.url
  info[:referer_url] =  @request.referer
  info[:params] =       @request.params.inspect
  info[:user_agent] =   @request.user_agent
  info[:user_info] =    
  info[:created_at] =   Time.now
  return info
end

#routing_error?Boolean

Returns:

  • (Boolean)


38
39
40
41
# File 'lib/rails_exception_handler/parser.rb', line 38

def routing_error?
  routing_errors = [ActionController::RoutingError, AbstractController::ActionNotFound, ActiveRecord::RecordNotFound]
  routing_errors.include?(@exception.class)
end