Sha256: a09113efa47d313fe78082f8ea78ce8294ad9ce272c85dc70fb592abd753aff4

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

module Errplane
  module Rails
    module AirTrafficController
      def errplane_request_data
        unfiltered_params = params.to_hash
        if respond_to?(:filter_parameters)
          filtered_params = filter_parameters(unfiltered_params)
        elsif defined? request.filtered_parameters
          filtered_params = request.filtered_parameters
        else
          filtered_params = unfiltered_params.except(:password, :password_confirmation)
        end

        {
          :params => filtered_params,
          :session_data => errplane_session_data,
          :controller => params[:controller],
          :action => params[:action],
          :request_url => errplane_request_url,
          :user_agent => request.env["HTTP_USER_AGENT"],
          :remote_ip => request.remote_ip,
          :referer => request.referer,
          :current_user => (current_user rescue nil)
        }
      end

      private
      def errplane_session_data
        session.respond_to?(:to_hash) ? session.to_hash : session.data
      end

      def errplane_request_url
        url = "#{request.protocol}#{request.host}"
        url << ":#{request.port}" unless [80, 443].include?(request.port)
        url << request.fullpath
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
errplane-1.0.15 lib/errplane/rails/air_traffic_controller.rb