Sha256: 13d722c0bba1d3bf1ca946d5adb4e383e63b81595a2d2000080235f058625724

Contents?: true

Size: 936 Bytes

Versions: 19

Compression:

Stored size: 936 Bytes

Contents

ActionController::Base.class_eval do
  cattr_accessor :allow_rescue
  
  alias_method :rescue_action_without_bypass, :rescue_action

  def rescue_action(exception)
    if ActionController::Base.allow_rescue
      rescue_action_without_bypass(exception)
    else
      raise exception
    end
  end
end

begin
  ActionController::Failsafe.class_eval do
    alias_method :failsafe_response_without_bypass, :failsafe_response
  
    def failsafe_response(exception)
      raise exception
    end
  end
rescue NameError # Failsafe was introduced in Rails 2.3.2
  ActionController::Dispatcher.class_eval do
    def self.failsafe_response(output, status, exception = nil)
      raise exception
    end
  end
end

Before('@allow-rescue') do
  @__orig_allow_rescue = ActionController::Base.allow_rescue
  ActionController::Base.allow_rescue = true
end

After('@allow-rescue') do
  ActionController::Base.allow_rescue = @__orig_allow_rescue
end

Version data entries

19 entries across 19 versions & 4 rubygems

Version Path
cucumber-rails-0.2.2 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.2.1 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.2.0 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.1.1.rc6 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.1.1.rc5 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.1.1.rc4 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.1.1.rc3 lib/cucumber/rails/action_controller.rb
middleman-0.10.17 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb
middleman-0.10.16 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb
middleman-0.10.15 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb
rackjour-0.1.8 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb
middleman-0.10.14 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb
cucumber-0.4.4 lib/cucumber/rails/action_controller.rb
cucumber-rails-0.1.1.rc2 lib/cucumber/rails/action_controller.rb
cucumber-0.4.3 lib/cucumber/rails/action_controller.rb
cucumber-0.4.2 lib/cucumber/rails/action_controller.rb
cucumber-0.4.1 lib/cucumber/rails/action_controller.rb
cucumber-0.4.0 lib/cucumber/rails/action_controller.rb
cucumber-0.4.0.rc1 lib/cucumber/rails/action_controller.rb