diff --git a/gems/activesupport/6.0/activesupport-generated.rbs b/gems/activesupport/6.0/activesupport-generated.rbs index ce0573a9..ff85fc01 100644 --- a/gems/activesupport/6.0/activesupport-generated.rbs +++ b/gems/activesupport/6.0/activesupport-generated.rbs @@ -10662,82 +10662,6 @@ module ActiveSupport end end -module ActiveSupport - # Rescuable module adds support for easier exception handling. - module Rescuable - extend Concern - - module ClassMethods - # Rescue exceptions raised in controller actions. - # - # rescue_from receives a series of exception classes or class - # names, and a trailing :with option with the name of a method - # or a Proc object to be called to handle them. Alternatively a block can - # be given. - # - # Handlers that take one argument will be called with the exception, so - # that the exception can be inspected when dealing with it. - # - # Handlers are inherited. They are searched from right to left, from - # bottom to top, and up the hierarchy. The handler of the first class for - # which exception.is_a?(klass) holds true is the one invoked, if - # any. - # - # class ApplicationController < ActionController::Base - # rescue_from User::NotAuthorized, with: :deny_access # self defined exception - # rescue_from ActiveRecord::RecordInvalid, with: :show_errors - # - # rescue_from 'MyAppError::Base' do |exception| - # render xml: exception, status: 500 - # end - # - # private - # def deny_access - # ... - # end - # - # def show_errors(exception) - # exception.record.new_record? ? ... - # end - # end - # - # Exceptions raised inside exception handlers are not propagated up. - def rescue_from: (*Class, ?with: Symbol | Proc) -> void - | (*Class) { (Exception) -> void } -> void - - # Matches an exception to a handler based on the exception class. - # - # If no handler matches the exception, check for a handler matching the - # (optional) exception.cause. If no handler matches the exception or its - # cause, this returns +nil+, so you can deal with unhandled exceptions. - # Be sure to re-raise unhandled exceptions if this is what you expect. - # - # begin - # (trim non-ascii characters) - # rescue => exception - # rescue_with_handler(exception) || raise - # end - # - # Returns the exception if it was handled and +nil+ if it was not. - def rescue_with_handler: (untyped exception, ?visited_exceptions: untyped visited_exceptions, ?object: untyped object) -> untyped - - def handler_for_rescue: (untyped exception, ?object: untyped object) -> untyped - - private - - def find_rescue_handler: (untyped exception) -> untyped - - def constantize_rescue_handler_class: (untyped class_or_name) -> untyped - end - - # Delegates to the class method, but uses the instance as the subject for - # rescue_from handlers (method calls, instance_exec blocks). - def rescue_with_handler: (untyped exception) -> untyped - - def handler_for_rescue: (untyped exception) -> untyped - end -end - module ActiveSupport module SecurityUtils # Constant time string comparison, for fixed length strings. diff --git a/gems/activesupport/6.0/activesupport.rbs b/gems/activesupport/6.0/activesupport.rbs index b99ffbe2..5e95cc0a 100644 --- a/gems/activesupport/6.0/activesupport.rbs +++ b/gems/activesupport/6.0/activesupport.rbs @@ -383,3 +383,79 @@ class Array[unchecked out Elem] # Manual definition to make block optional def in_groups: (untyped number, ?untyped? fill_with) ?{ (untyped) -> untyped } -> untyped end + +module ActiveSupport + # Rescuable module adds support for easier exception handling. + module Rescuable + extend Concern + + module ClassMethods + # Rescue exceptions raised in controller actions. + # + # rescue_from receives a series of exception classes or class + # names, and a trailing :with option with the name of a method + # or a Proc object to be called to handle them. Alternatively a block can + # be given. + # + # Handlers that take one argument will be called with the exception, so + # that the exception can be inspected when dealing with it. + # + # Handlers are inherited. They are searched from right to left, from + # bottom to top, and up the hierarchy. The handler of the first class for + # which exception.is_a?(klass) holds true is the one invoked, if + # any. + # + # class ApplicationController < ActionController::Base + # rescue_from User::NotAuthorized, with: :deny_access # self defined exception + # rescue_from ActiveRecord::RecordInvalid, with: :show_errors + # + # rescue_from 'MyAppError::Base' do |exception| + # render xml: exception, status: 500 + # end + # + # private + # def deny_access + # ... + # end + # + # def show_errors(exception) + # exception.record.new_record? ? ... + # end + # end + # + # Exceptions raised inside exception handlers are not propagated up. + def rescue_from: (*Class) { (Exception) [self: instance] -> void } -> void + | (*Class, with: Symbol | ^(Exception) [self: instance] -> void) -> void + + # Matches an exception to a handler based on the exception class. + # + # If no handler matches the exception, check for a handler matching the + # (optional) exception.cause. If no handler matches the exception or its + # cause, this returns +nil+, so you can deal with unhandled exceptions. + # Be sure to re-raise unhandled exceptions if this is what you expect. + # + # begin + # (trim non-ascii characters) + # rescue => exception + # rescue_with_handler(exception) || raise + # end + # + # Returns the exception if it was handled and +nil+ if it was not. + def rescue_with_handler: (untyped exception, ?visited_exceptions: untyped visited_exceptions, ?object: untyped object) -> untyped + + def handler_for_rescue: (untyped exception, ?object: untyped object) -> untyped + + private + + def find_rescue_handler: (untyped exception) -> untyped + + def constantize_rescue_handler_class: (untyped class_or_name) -> untyped + end + + # Delegates to the class method, but uses the instance as the subject for + # rescue_from handlers (method calls, instance_exec blocks). + def rescue_with_handler: (untyped exception) -> untyped + + def handler_for_rescue: (untyped exception) -> untyped + end +end