module ActiveSupport::Rescuable::ClassMethods

def constantize_rescue_handler_class(class_or_name)

def constantize_rescue_handler_class(class_or_name)
  case class_or_name
  when String, Symbol
    begin
      # Try a lexical lookup first since we support
      #
      #     class Super
      #       rescue_from 'Error', with: …
      #     end
      #
      #     class Sub
      #       class Error < StandardError; end
      #     end
      #
      # so an Error raised in Sub will hit the 'Error' handler.
      const_get class_or_name
    rescue NameError
      class_or_name.safe_constantize
    end
  else
    class_or_name
  end
end