Sha256: 010729a45023a28a70af701b9202d903bf147214f36043c3778c0d58f18ea6fb
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
module ErrorHandler class Parser #Init def initialize(exception, request, controller) @exception, @request, @controller = exception, request, controller end #Save def save ActiveRecord::Base.logger.silence do Error.create(relevant_info) end log(relevant_info) end #Info 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 #User 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 #Log def log(info) message = "#{info[:class_name]} (#{info[:message]}):\n " message += Rails.backtrace_cleaner.clean(info[:trace].split("\n")).join("\n") Rails.logger.fatal(message) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
exception_handler-0.0.25 | lib/exception_handler/parser.rb |
exception_handler-0.0.22 | lib/exception_handler/parser.rb |
exception_handler-0.0.21 | lib/exception_handler/parser.rb |