lib/errdo/models/error_env_parser.rb in errdo-0.11.3 vs lib/errdo/models/error_env_parser.rb in errdo-0.11.4
- old
+ new
@@ -1,10 +1,10 @@
module Errdo
module Models
class ErrorEnvParser
- attr_accessor :user, :exception_class_name, :exception_message, :http_method,
+ attr_accessor :exception_class_name, :exception_message, :http_method,
:host_name, :url, :backtrace, :ip, :user_agent, :referer,
:query_string, :param_values, :cookie_values, :header_values,
:experiencer_id, :experiencer_type
def initialize(env, user_parser)
@@ -49,13 +49,17 @@
def short_backtrace
@backtrace.first if @backtrace.respond_to?(:first)
end
+ def user
+ @experiencer_type.constantize.find_by(id: @experiencer_id) if @experiencer_type && Errdo.error_name
+ end
+
private
- def set_accessible_params(env, request, controller, user)
+ def set_accessible_params(env, request, controller, new_user)
@exception_class_name = env["action_dispatch.exception"].class.to_s
@exception_message = env["action_dispatch.exception"].try(:message)
@http_method = request.try(:request_method)
@host_name = request.try(:server_name)
@url = request.try(:original_url)
@@ -65,11 +69,11 @@
@referer = request.try(:referer)
@query_string = request.try(:query_string)
@param_values = scrubbed_params(request)
@cookie_values = request.try(:cookies)
@header_values = controller.try(:headers)
- @experiencer_id = user.try(:id)
- @experiencer_type = user.try(:class).try(:name)
+ @experiencer_id = new_user.try(:id)
+ @experiencer_type = new_user.try(:class).try(:name)
end
def prepare_backtrace(env)
env["action_dispatch.exception"].try(:backtrace)
end