Sha256: 5d959a41ed1c68fb0b8fa72c705a80504880e9bf1e83363cee14b1b5363c37ab

Contents?: true

Size: 785 Bytes

Versions: 3

Compression:

Stored size: 785 Bytes

Contents

module Raygun
  module Middleware
    # Adapted from the Rollbar approach https://github.com/rollbar/rollbar-gem/blob/master/lib/rollbar/middleware/rails/rollbar_request_store.rb
    class RailsInsertAffectedUser

      def initialize(app)
        @app = app
      end

      def call(env)
        @app.call(env)
      rescue Exception => exception
        controller = env["action_controller.instance"]
        affected_user_method = Raygun.configuration.affected_user_method

        if controller && controller.respond_to?(affected_user_method, true)
          user = controller.send(affected_user_method)

          env["raygun.affected_user"] = Raygun::AffectedUser.information_hash(user)
        end

        raise exception
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
raygun4ruby-3.2.6 lib/raygun/middleware/rails_insert_affected_user.rb
raygun4ruby-3.2.5.pre lib/raygun/middleware/rails_insert_affected_user.rb
raygun4ruby-3.2.4 lib/raygun/middleware/rails_insert_affected_user.rb