Sha256: 77801036ffe91a3362c39f9e1ab99bf0239095d780d636497e42f4a4d9f427db

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 Bytes

Contents

class Flail
  module Rails
    module RescueAction
      # Sets up an alias chain to catch exceptions when Rails does
      def self.included(base)
        base.send(:alias_method, :rescue_action_in_public_without_flail, :rescue_action_in_public)
        base.send(:alias_method, :rescue_action_in_public, :rescue_action_in_public_with_flail)
      end

      private

      # Overrides the rescue_action method in ActionController::Base
      # but uses any custom processing that is defined with
      # Rails 2's exception helpers.
      def rescue_action_in_public_with_flail(exception)
        request.env['flail.request'] = request
        request.env['action_controller.instance'] = self
        Flail::Exception.new(request.env, exception).handle!
        rescue_action_in_public_without_flail(exception)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
flail-0.0.3 lib/flail/rails/rescue_action.rb