Class: ExceptionHandler::Parser
- Inherits:
-
Object
- Object
- ExceptionHandler::Parser
- Defined in:
- lib/exception_handler/parser.rb
Overview
Parse
Instance Method Summary collapse
-
#initialize(exception, request, controller) ⇒ Parser
constructor
Init.
-
#log(info) ⇒ Object
Log.
-
#relevant_info(info = {}) ⇒ Object
Info.
-
#save ⇒ Object
Save.
-
#user(data = {}) ⇒ Object
User.
Constructor Details
#initialize(exception, request, controller) ⇒ Parser
Init
38 39 40 |
# File 'lib/exception_handler/parser.rb', line 38 def initialize(exception, request, controller) @exception, @request, @controller = exception, request, controller end |
Instance Method Details
#log(info) ⇒ Object
Log
80 81 82 83 84 |
# File 'lib/exception_handler/parser.rb', line 80 def log(info) = "#{info[:class_name]} (#{info[:message]}):\n " += Rails.backtrace_cleaner.clean(info[:trace].split("\n")).join("\n") Rails.logger.fatal() end |
#relevant_info(info = {}) ⇒ Object
Info
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/exception_handler/parser.rb', line 51 def relevant_info(info = {}) 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 if user info[:usable_type] = user[:type] info[:usable_id] = user[:id] end return info end |
#save ⇒ Object
Save
43 44 45 46 47 48 |
# File 'lib/exception_handler/parser.rb', line 43 def save ActiveRecord::Base.logger.silence do ExceptionHandler::Error.create(relevant_info) end log(relevant_info) end |
#user(data = {}) ⇒ Object
User
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/exception_handler/parser.rb', line 67 def user(data = {}) # => refer to Joe's if want to find admin / user if(@controller.respond_to?("current_user")) user = @controller.send("current_user") [:id].each do |field| data[:id] = user.send(field) if user.respond_to?(field) data[:type] = "user" if @controller.respond_to?("current_user") end end return data end |