class ErrorappNotifier::ControllerDataExtractor

Public Class Methods

new(controller, request) click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 29
def initialize(controller, request)
  @request = request
  @controller = controller
end

Public Instance Methods

action() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 46
def action
  if @request.respond_to?(:parameters)
    @request.parameters['action']
  else
    @request.params['action']
  end
end
controller() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 34
def controller
  "#{@controller.class}"
end
env() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 76
def env
  @request.env
end
parameters() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 54
def parameters
  parameters = if @request.respond_to?(:parameters)
                 @request.parameters
               else
                 @request.params
               end

  filter_parameters(parameters)
end
remote_ip() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 68
def remote_ip
  if @request.respond_to?(:remote_ip)
    @request.remote_ip
  else
    @request.ip
  end
end
request() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 80
def request
  @request
end
request_method() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 64
def request_method
  "#{@request.request_method}"
end
url() click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 38
def url
  if @request.respond_to?(:url)
    @request.url
  else
    "#{@request.protocol}#{@request.host}#{@request.request_uri}"
  end
end

Private Instance Methods

filter_parameters(hash) click to toggle source
# File lib/errorapp_notifier/controller_failure_data.rb, line 86
def filter_parameters(hash)
  if @request.respond_to?(:env) && @request.env["action_dispatch.parameter_filter"]
    Sanitizer.filter_hash(@request.env["action_dispatch.parameter_filter"], hash)
  elsif @controller.respond_to?(:filter_parameters)
    @controller.send(:filter_parameters, hash)
  else
    hash
  end
end