Arie/serveme

View on GitHub
sorbet/rbi/gems/actionmailbox@7.0.5.rbi

Summary

Maintainability
Test Coverage
# typed: true

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `actionmailbox` gem.
# Please instead update this file by running `bin/tapioca gem actionmailbox`.

# source://actionmailbox//lib/action_mailbox.rb#5
module ActionMailbox
  extend ::ActiveSupport::Autoload

  # source://actionmailbox//lib/action_mailbox.rb#14
  def incinerate; end

  # source://actionmailbox//lib/action_mailbox.rb#14
  def incinerate=(val); end

  # source://actionmailbox//lib/action_mailbox.rb#15
  def incinerate_after; end

  # source://actionmailbox//lib/action_mailbox.rb#15
  def incinerate_after=(val); end

  # source://actionmailbox//lib/action_mailbox.rb#12
  def ingress; end

  # source://actionmailbox//lib/action_mailbox.rb#12
  def ingress=(val); end

  # source://actionmailbox//lib/action_mailbox.rb#13
  def logger; end

  # source://actionmailbox//lib/action_mailbox.rb#13
  def logger=(val); end

  # source://actionmailbox//lib/action_mailbox.rb#16
  def queues; end

  # source://actionmailbox//lib/action_mailbox.rb#16
  def queues=(val); end

  # source://actionmailbox//lib/action_mailbox.rb#17
  def storage_service; end

  # source://actionmailbox//lib/action_mailbox.rb#17
  def storage_service=(val); end

  class << self
    # source://actionmailbox//lib/action_mailbox.rb#14
    def incinerate; end

    # source://actionmailbox//lib/action_mailbox.rb#14
    def incinerate=(val); end

    # source://actionmailbox//lib/action_mailbox.rb#15
    def incinerate_after; end

    # source://actionmailbox//lib/action_mailbox.rb#15
    def incinerate_after=(val); end

    # source://actionmailbox//lib/action_mailbox.rb#12
    def ingress; end

    # source://actionmailbox//lib/action_mailbox.rb#12
    def ingress=(val); end

    # source://actionmailbox//lib/action_mailbox.rb#13
    def logger; end

    # source://actionmailbox//lib/action_mailbox.rb#13
    def logger=(val); end

    # source://actionmailbox//lib/action_mailbox.rb#16
    def queues; end

    # source://actionmailbox//lib/action_mailbox.rb#16
    def queues=(val); end

    # source://railties/7.0.5/lib/rails/engine.rb#405
    def railtie_helpers_paths; end

    # source://railties/7.0.5/lib/rails/engine.rb#394
    def railtie_namespace; end

    # source://railties/7.0.5/lib/rails/engine.rb#409
    def railtie_routes_url_helpers(include_path_helpers = T.unsafe(nil)); end

    # source://actionmailbox//lib/action_mailbox.rb#17
    def storage_service; end

    # source://actionmailbox//lib/action_mailbox.rb#17
    def storage_service=(val); end

    # source://railties/7.0.5/lib/rails/engine.rb#397
    def table_name_prefix; end

    # source://railties/7.0.5/lib/rails/engine.rb#401
    def use_relative_model_naming?; end
  end
end

# The base class for all application mailboxes. Not intended to be inherited from directly. Inherit from
# +ApplicationMailbox+ instead, as that's where the app-specific routing is configured. This routing
# is specified in the following ways:
#
#   class ApplicationMailbox < ActionMailbox::Base
#     # Any of the recipients of the mail (whether to, cc, bcc) are matched against the regexp.
#     routing /^replies@/i => :replies
#
#     # Any of the recipients of the mail (whether to, cc, bcc) needs to be an exact match for the string.
#     routing "help@example.com" => :help
#
#     # Any callable (proc, lambda, etc) object is passed the inbound_email record and is a match if true.
#     routing ->(inbound_email) { inbound_email.mail.to.size > 2 } => :multiple_recipients
#
#     # Any object responding to #match? is called with the inbound_email record as an argument. Match if true.
#     routing CustomAddress.new => :custom
#
#     # Any inbound_email that has not been already matched will be sent to the BackstopMailbox.
#     routing :all => :backstop
#   end
#
# Application mailboxes need to override the #process method, which is invoked by the framework after
# callbacks have been run. The callbacks available are: +before_processing+, +after_processing+, and
# +around_processing+. The primary use case is ensure certain preconditions to processing are fulfilled
# using +before_processing+ callbacks.
#
# If a precondition fails to be met, you can halt the processing using the +#bounced!+ method,
# which will silently prevent any further processing, but not actually send out any bounce notice. You
# can also pair this behavior with the invocation of an Action Mailer class responsible for sending out
# an actual bounce email. This is done using the #bounce_with method, which takes the mail object returned
# by an Action Mailer method, like so:
#
#   class ForwardsMailbox < ApplicationMailbox
#     before_processing :ensure_sender_is_a_user
#
#     private
#       def ensure_sender_is_a_user
#         unless User.exist?(email_address: mail.from)
#           bounce_with UserRequiredMailer.missing(inbound_email)
#         end
#       end
#   end
#
# During the processing of the inbound email, the status will be tracked. Before processing begins,
# the email will normally have the +pending+ status. Once processing begins, just before callbacks
# and the #process method is called, the status is changed to +processing+. If processing is allowed to
# complete, the status is changed to +delivered+. If a bounce is triggered, then +bounced+. If an unhandled
# exception is bubbled up, then +failed+.
#
# Exceptions can be handled at the class level using the familiar +Rescuable+ approach:
#
#   class ForwardsMailbox < ApplicationMailbox
#     rescue_from(ApplicationSpecificVerificationError) { bounced! }
#   end
#
# source://actionmailbox//lib/action_mailbox/base.rb#63
class ActionMailbox::Base
  include ::ActiveSupport::Rescuable
  include ::ActionMailbox::Routing
  include ::ActiveSupport::Callbacks
  include ::ActionMailbox::Callbacks
  extend ::ActiveSupport::Rescuable::ClassMethods
  extend ::ActionMailbox::Routing::ClassMethods
  extend ::ActiveSupport::Callbacks::ClassMethods
  extend ::ActiveSupport::DescendantsTracker
  extend ::ActionMailbox::Callbacks::ClassMethods

  # @return [Base] a new instance of Base
  #
  # source://actionmailbox//lib/action_mailbox/base.rb#76
  def initialize(inbound_email); end

  # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
  def __callbacks; end

  # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
  def __callbacks?; end

  # source://activesupport/7.0.5/lib/active_support/callbacks.rb#940
  def _process_callbacks; end

  # source://activesupport/7.0.5/lib/active_support/callbacks.rb#928
  def _run_process_callbacks(&block); end

  # Enqueues the given +message+ for delivery and changes the inbound email's status to +:bounced+.
  #
  # source://actionmailbox//lib/action_mailbox/base.rb#101
  def bounce_with(message); end

  # source://actionmailbox//lib/action_mailbox/base.rb#68
  def bounced!(*_arg0, **_arg1, &_arg2); end

  # source://actionmailbox//lib/action_mailbox/base.rb#68
  def delivered!(*_arg0, **_arg1, &_arg2); end

  # @return [Boolean]
  #
  # source://actionmailbox//lib/action_mailbox/base.rb#95
  def finished_processing?; end

  # Returns the value of attribute inbound_email.
  #
  # source://actionmailbox//lib/action_mailbox/base.rb#67
  def inbound_email; end

  # source://actionmailbox//lib/action_mailbox/base.rb#70
  def logger(*_arg0, **_arg1, &_arg2); end

  # source://actionmailbox//lib/action_mailbox/base.rb#68
  def mail(*_arg0, **_arg1, &_arg2); end

  # source://actionmailbox//lib/action_mailbox/base.rb#80
  def perform_processing; end

  # source://actionmailbox//lib/action_mailbox/base.rb#91
  def process; end

  # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
  def rescue_handlers; end

  # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
  def rescue_handlers=(_arg0); end

  # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
  def rescue_handlers?; end

  # source://actionmailbox//lib/action_mailbox/routing.rb#9
  def router; end

  # source://actionmailbox//lib/action_mailbox/routing.rb#9
  def router=(val); end

  private

  # source://actionmailbox//lib/action_mailbox/base.rb#107
  def track_status_of_inbound_email; end

  class << self
    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
    def __callbacks; end

    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
    def __callbacks=(value); end

    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
    def __callbacks?; end

    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#932
    def _process_callbacks; end

    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#936
    def _process_callbacks=(value); end

    # source://actionmailbox//lib/action_mailbox/base.rb#72
    def receive(inbound_email); end

    # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
    def rescue_handlers; end

    # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
    def rescue_handlers=(value); end

    # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
    def rescue_handlers?; end

    # source://actionmailbox//lib/action_mailbox/routing.rb#9
    def router; end

    # source://actionmailbox//lib/action_mailbox/routing.rb#9
    def router=(val); end
  end
end

class ActionMailbox::BaseController < ::ActionController::Base
  private

  # source://actionview/7.0.5/lib/action_view/layouts.rb#328
  def _layout(lookup_context, formats); end

  def authenticate_by_password; end
  def ensure_configured; end
  def ingress_name; end
  def password; end

  class << self
    # source://activesupport/7.0.5/lib/active_support/callbacks.rb#68
    def __callbacks; end

    # source://actionpack/7.0.5/lib/action_controller/metal.rb#210
    def middleware_stack; end
  end
end

# Defines the callbacks related to processing.
#
# source://actionmailbox//lib/action_mailbox/callbacks.rb#7
module ActionMailbox::Callbacks
  extend ::ActiveSupport::Concern
  include GeneratedInstanceMethods
  include ::ActiveSupport::Callbacks

  mixes_in_class_methods GeneratedClassMethods
  mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods
  mixes_in_class_methods ::ActiveSupport::DescendantsTracker
  mixes_in_class_methods ::ActionMailbox::Callbacks::ClassMethods

  module GeneratedClassMethods
    def __callbacks; end
    def __callbacks=(value); end
    def __callbacks?; end
  end

  module GeneratedInstanceMethods
    def __callbacks; end
    def __callbacks?; end
  end
end

# source://actionmailbox//lib/action_mailbox/callbacks.rb#0
module ActionMailbox::Callbacks::ClassMethods
  # source://actionmailbox//lib/action_mailbox/callbacks.rb#25
  def after_processing(*methods, &block); end

  # source://actionmailbox//lib/action_mailbox/callbacks.rb#29
  def around_processing(*methods, &block); end

  # source://actionmailbox//lib/action_mailbox/callbacks.rb#21
  def before_processing(*methods, &block); end
end

# source://actionmailbox//lib/action_mailbox/callbacks.rb#11
ActionMailbox::Callbacks::TERMINATOR = T.let(T.unsafe(nil), Proc)

# source://actionmailbox//lib/action_mailbox/engine.rb#12
class ActionMailbox::Engine < ::Rails::Engine; end

class ActionMailbox::InboundEmail < ::ActionMailbox::Record
  include ::ActionMailbox::InboundEmail::GeneratedAttributeMethods
  include ::ActionMailbox::InboundEmail::GeneratedAssociationMethods

  class << self
    # source://activemodel/7.0.5/lib/active_model/validations.rb#52
    def _validators; end

    # source://activerecord/7.0.5/lib/active_record/enum.rb#116
    def defined_enums; end
  end
end

module ActionMailbox::InboundEmail::GeneratedAssociationMethods; end
module ActionMailbox::InboundEmail::GeneratedAttributeMethods; end

module ActionMailbox::InboundEmail::Incineratable
  extend ::ActiveSupport::Concern

  def incinerate; end
  def incinerate_later; end
end

class ActionMailbox::InboundEmail::Incineratable::Incineration
  def initialize(inbound_email); end

  def run; end

  private

  def due?; end
  def processed?; end
end

module ActionMailbox::InboundEmail::MessageId
  extend ::ActiveSupport::Concern

  mixes_in_class_methods ::ActionMailbox::InboundEmail::MessageId::ClassMethods
end

module ActionMailbox::InboundEmail::MessageId::ClassMethods
  def create_and_extract_message_id!(source, **options); end

  private

  def create_and_upload_raw_email!(source); end
  def extract_message_id(source); end
  def generate_missing_message_id(message_checksum); end
end

module ActionMailbox::InboundEmail::Routable
  extend ::ActiveSupport::Concern

  def route; end
  def route_later; end
end

class ActionMailbox::IncinerationJob < ::ActiveJob::Base
  def perform(inbound_email); end

  class << self
    # source://activejob/7.0.5/lib/active_job/queue_name.rb#56
    def queue_name; end

    # source://activesupport/7.0.5/lib/active_support/rescuable.rb#13
    def rescue_handlers; end

    def schedule(inbound_email); end
  end
end

class ActionMailbox::Record < ::ActiveRecord::Base
  include ::ActionMailbox::Record::GeneratedAttributeMethods
  include ::ActionMailbox::Record::GeneratedAssociationMethods

  class << self
    # source://activemodel/7.0.5/lib/active_model/validations.rb#52
    def _validators; end

    # source://activerecord/7.0.5/lib/active_record/enum.rb#116
    def defined_enums; end
  end
end

module ActionMailbox::Record::GeneratedAssociationMethods; end
module ActionMailbox::Record::GeneratedAttributeMethods; end

# Encapsulates the routes that live on the ApplicationMailbox and performs the actual routing when
# an inbound_email is received.
#
# source://actionmailbox//lib/action_mailbox/router.rb#6
class ActionMailbox::Router
  # @return [Router] a new instance of Router
  #
  # source://actionmailbox//lib/action_mailbox/router.rb#9
  def initialize; end

  # source://actionmailbox//lib/action_mailbox/router.rb#19
  def add_route(address, to:); end

  # source://actionmailbox//lib/action_mailbox/router.rb#13
  def add_routes(routes); end

  # source://actionmailbox//lib/action_mailbox/router.rb#33
  def mailbox_for(inbound_email); end

  # source://actionmailbox//lib/action_mailbox/router.rb#23
  def route(inbound_email); end

  private

  # Returns the value of attribute routes.
  #
  # source://actionmailbox//lib/action_mailbox/router.rb#38
  def routes; end
end

# source://actionmailbox//lib/action_mailbox/router/route.rb#7
class ActionMailbox::Router::Route
  # source://actionmailbox//lib/action_mailbox/router/route.rb#10
  def initialize(address, to:); end

  # source://actionmailbox//lib/action_mailbox/router/route.rb#8
  def address; end

  # source://actionmailbox//lib/action_mailbox/router/route.rb#31
  def mailbox_class; end

  # source://actionmailbox//lib/action_mailbox/router/route.rb#8
  def mailbox_name; end

  # source://actionmailbox//lib/action_mailbox/router/route.rb#16
  def match?(inbound_email); end

  private

  # source://actionmailbox//lib/action_mailbox/router/route.rb#36
  def ensure_valid_address; end
end

# source://actionmailbox//lib/action_mailbox/router.rb#7
class ActionMailbox::Router::RoutingError < ::StandardError; end

# See ActionMailbox::Base for how to specify routing.
#
# source://actionmailbox//lib/action_mailbox/routing.rb#5
module ActionMailbox::Routing
  extend ::ActiveSupport::Concern

  mixes_in_class_methods ::ActionMailbox::Routing::ClassMethods
end

# source://actionmailbox//lib/action_mailbox/routing.rb#0
module ActionMailbox::Routing::ClassMethods
  # source://actionmailbox//lib/action_mailbox/routing.rb#21
  def mailbox_for(inbound_email); end

  # source://actionmailbox//lib/action_mailbox/routing.rb#17
  def route(inbound_email); end

  # source://actionmailbox//lib/action_mailbox/routing.rb#13
  def routing(routes); end
end

class ActionMailbox::RoutingJob < ::ActiveJob::Base
  def perform(inbound_email); end

  class << self
    # source://activejob/7.0.5/lib/active_job/queue_name.rb#56
    def queue_name; end
  end
end

# source://actionmailbox//lib/action_mailbox/test_case.rb#7
class ActionMailbox::TestCase < ::ActiveSupport::TestCase
  include ::ActionMailbox::TestHelper
end

# source://actionmailbox//lib/action_mailbox/test_helper.rb#6
module ActionMailbox::TestHelper
  # Create an InboundEmail record using an eml fixture in the format of message/rfc822
  # referenced with +fixture_name+ located in +test/fixtures/files/fixture_name+.
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#9
  def create_inbound_email_from_fixture(fixture_name, status: T.unsafe(nil)); end

  # Creates an InboundEmail by specifying through options or a block.
  #
  # ==== Options
  #
  # * <tt>:status</tt> - The +status+ to set for the created InboundEmail.
  #   For possible statuses, see its documentation.
  #
  # ==== Creating a simple email
  #
  # When you only need to set basic fields like +from+, +to+, +subject+, and
  # +body+, you can pass them directly as options.
  #
  #   create_inbound_email_from_mail(from: "david@loudthinking.com", subject: "Hello!")
  #
  # ==== Creating a multi-part email
  #
  # When you need to create a more intricate email, like a multi-part email
  # that contains both a plaintext version and an HTML version, you can pass a
  # block.
  #
  #   create_inbound_email_from_mail do
  #     to "David Heinemeier Hansson <david@loudthinking.com>"
  #     from "Bilbo Baggins <bilbo@bagend.com>"
  #     subject "Come down to the Shire!"
  #
  #     text_part do
  #       body "Please join us for a party at Bag End"
  #     end
  #
  #     html_part do
  #       body "<h1>Please join us for a party at Bag End</h1>"
  #     end
  #   end
  #
  # As with +Mail.new+, you can also use a block parameter to define the parts
  # of the message:
  #
  #   create_inbound_email_from_mail do |mail|
  #     mail.to "David Heinemeier Hansson <david@loudthinking.com>"
  #     mail.from "Bilbo Baggins <bilbo@bagend.com>"
  #     mail.subject "Come down to the Shire!"
  #
  #     mail.text_part do |part|
  #       part.body "Please join us for a party at Bag End"
  #     end
  #
  #     mail.html_part do |part|
  #       part.body "<h1>Please join us for a party at Bag End</h1>"
  #     end
  #   end
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#63
  def create_inbound_email_from_mail(status: T.unsafe(nil), **mail_options, &block); end

  # Create an InboundEmail using the raw rfc822 +source+ as text.
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#72
  def create_inbound_email_from_source(source, status: T.unsafe(nil)); end

  # Create an InboundEmail from fixture using the same arguments as create_inbound_email_from_fixture
  # and immediately route it to processing.
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#79
  def receive_inbound_email_from_fixture(*args); end

  # Create an InboundEmail using the same options or block as
  # create_inbound_email_from_mail, then immediately route it for processing.
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#85
  def receive_inbound_email_from_mail(**kwargs, &block); end

  # Create an InboundEmail using the same arguments as create_inbound_email_from_source and immediately route it
  # to processing.
  #
  # source://actionmailbox//lib/action_mailbox/test_helper.rb#91
  def receive_inbound_email_from_source(*args); end
end

# source://actionmailbox//lib/action_mailbox/mail_ext/address_equality.rb#3
module Mail
  class << self
    # source://mail/2.8.1/lib/mail/mail.rb#163
    def all(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#183
    def connection(&block); end

    # source://mail/2.8.1/lib/mail/mail.rb#98
    def defaults(&block); end

    # source://mail/2.8.1/lib/mail/mail.rb#174
    def delete_all(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#131
    def deliver(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#103
    def delivery_method; end

    # source://mail/2.8.1/lib/mail.rb#35
    def eager_autoload!; end

    # source://mail/2.8.1/lib/mail/mail.rb#139
    def find(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#145
    def find_and_delete(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#151
    def first(*args, &block); end

    # source://actionmailbox//lib/action_mailbox/mail_ext/from_source.rb#4
    def from_source(source); end

    # source://mail/2.8.1/lib/mail/mail.rb#233
    def inform_interceptors(mail); end

    # source://mail/2.8.1/lib/mail/mail.rb#227
    def inform_observers(mail); end

    # source://mail/2.8.1/lib/mail/mail.rb#157
    def last(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#50
    def new(*args, &block); end

    # source://mail/2.8.1/lib/mail/mail.rb#243
    def random_tag; end

    # source://mail/2.8.1/lib/mail/mail.rb#168
    def read(filename); end

    # source://mail/2.8.1/lib/mail/mail.rb#179
    def read_from_string(mail_as_string); end

    # source://mail/2.8.1/lib/mail.rb#23
    def register_autoload(name, path); end

    # source://mail/2.8.1/lib/mail/mail.rb#215
    def register_interceptor(interceptor); end

    # source://mail/2.8.1/lib/mail/mail.rb#196
    def register_observer(observer); end

    # source://mail/2.8.1/lib/mail/mail.rb#108
    def retriever_method; end

    # source://mail/2.8.1/lib/mail/mail.rb#252
    def something_random; end

    # source://mail/2.8.1/lib/mail/mail.rb#256
    def uniq; end

    # source://mail/2.8.1/lib/mail/mail.rb#223
    def unregister_interceptor(interceptor); end

    # source://mail/2.8.1/lib/mail/mail.rb#204
    def unregister_observer(observer); end
  end
end

# source://actionmailbox//lib/action_mailbox/mail_ext/address_equality.rb#4
class Mail::Address
  # source://mail/2.8.1/lib/mail/elements/address.rb#25
  def initialize(value = T.unsafe(nil)); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/address_equality.rb#5
  def ==(other_address); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#65
  def address(output_type = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#79
  def address=(value); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#132
  def comments; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#173
  def decoded; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#87
  def display_name(output_type = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#99
  def display_name=(str); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#118
  def domain(output_type = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#169
  def encoded; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#47
  def format(output_type = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#177
  def group; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#164
  def inspect; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#108
  def local(output_type = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#147
  def name; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#36
  def raw; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#156
  def to_s; end

  private

  # source://mail/2.8.1/lib/mail/elements/address.rb#237
  def format_comments; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#254
  def get_comments; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#218
  def get_display_name; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#250
  def get_domain; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#246
  def get_local; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#227
  def get_name; end

  # source://mail/2.8.1/lib/mail/elements/address.rb#183
  def parse(value = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#198
  def strip_all_comments(string); end

  # source://mail/2.8.1/lib/mail/elements/address.rb#207
  def strip_domain_comments(value); end

  class << self
    # source://actionmailbox//lib/action_mailbox/mail_ext/address_wrapping.rb#5
    def wrap(address); end
  end
end

# source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#4
class Mail::Message
  # source://mail/2.8.1/lib/mail/message.rb#107
  def initialize(*args, &block); end

  # source://mail/2.8.1/lib/mail/message.rb#334
  def <=>(other); end

  # source://mail/2.8.1/lib/mail/message.rb#373
  def ==(other); end

  # source://mail/2.8.1/lib/mail/message.rb#1334
  def [](name); end

  # source://mail/2.8.1/lib/mail/message.rb#1316
  def []=(name, value); end

  # source://mail/2.8.1/lib/mail/message.rb#1558
  def action; end

  # source://mail/2.8.1/lib/mail/message.rb#1472
  def add_charset; end

  # source://mail/2.8.1/lib/mail/message.rb#1487
  def add_content_transfer_encoding; end

  # source://mail/2.8.1/lib/mail/message.rb#1465
  def add_content_type; end

  # source://mail/2.8.1/lib/mail/message.rb#1448
  def add_date(date_val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1757
  def add_file(values); end

  # source://mail/2.8.1/lib/mail/message.rb#1438
  def add_message_id(msg_id_val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1458
  def add_mime_version(ver_val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1701
  def add_part(part); end

  # source://mail/2.8.1/lib/mail/message.rb#1927
  def all_parts; end

  # source://mail/2.8.1/lib/mail/message.rb#1918
  def attachment; end

  # source://mail/2.8.1/lib/mail/message.rb#1913
  def attachment?; end

  # source://mail/2.8.1/lib/mail/message.rb#1626
  def attachments; end

  # source://mail/2.8.1/lib/mail/message.rb#500
  def bcc(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#512
  def bcc=(val); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#21
  def bcc_addresses; end

  # source://mail/2.8.1/lib/mail/message.rb#1306
  def bcc_addrs; end

  # source://mail/2.8.1/lib/mail/message.rb#1251
  def body(value = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1237
  def body=(value); end

  # source://mail/2.8.1/lib/mail/message.rb#1260
  def body_encoding(value = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1268
  def body_encoding=(value); end

  # source://mail/2.8.1/lib/mail/message.rb#1554
  def bounced?; end

  # source://mail/2.8.1/lib/mail/message.rb#1583
  def boundary; end

  # source://mail/2.8.1/lib/mail/message.rb#541
  def cc(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#553
  def cc=(val); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#17
  def cc_addresses; end

  # source://mail/2.8.1/lib/mail/message.rb#1300
  def cc_addrs; end

  # source://mail/2.8.1/lib/mail/message.rb#1497
  def charset; end

  # source://mail/2.8.1/lib/mail/message.rb#1506
  def charset=(value); end

  # source://mail/2.8.1/lib/mail/message.rb#557
  def comments(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#561
  def comments=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#565
  def content_description(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#569
  def content_description=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#573
  def content_disposition(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#577
  def content_disposition=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#581
  def content_id(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#585
  def content_id=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#589
  def content_location(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#593
  def content_location=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#597
  def content_transfer_encoding(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#601
  def content_transfer_encoding=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#605
  def content_type(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#609
  def content_type=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1523
  def content_type_parameters; end

  # source://mail/2.8.1/lib/mail/message.rb#1773
  def convert_to_multipart; end

  # source://mail/2.8.1/lib/mail/message.rb#613
  def date(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#617
  def date=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1907
  def decode_body; end

  # source://mail/2.8.1/lib/mail/message.rb#1886
  def decoded; end

  # source://mail/2.8.1/lib/mail/message.rb#1204
  def default(sym, val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#250
  def deliver; end

  # source://mail/2.8.1/lib/mail/message.rb#267
  def deliver!; end

  # source://mail/2.8.1/lib/mail/message.rb#199
  def delivery_handler; end

  # source://mail/2.8.1/lib/mail/message.rb#199
  def delivery_handler=(_arg0); end

  # source://mail/2.8.1/lib/mail/message.rb#274
  def delivery_method(method = T.unsafe(nil), settings = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1543
  def delivery_status_part; end

  # source://mail/2.8.1/lib/mail/message.rb#1538
  def delivery_status_report?; end

  # source://mail/2.8.1/lib/mail/message.rb#1282
  def destinations; end

  # source://mail/2.8.1/lib/mail/message.rb#1570
  def diagnostic_code; end

  # source://mail/2.8.1/lib/mail/message.rb#1803
  def encoded; end

  # source://mail/2.8.1/lib/mail/message.rb#418
  def envelope_date; end

  # source://mail/2.8.1/lib/mail/message.rb#414
  def envelope_from; end

  # source://mail/2.8.1/lib/mail/message.rb#1566
  def error_status; end

  # source://mail/2.8.1/lib/mail/message.rb#471
  def errors; end

  # source://mail/2.8.1/lib/mail/message.rb#1923
  def filename; end

  # source://mail/2.8.1/lib/mail/message.rb#1562
  def final_recipient; end

  # source://mail/2.8.1/lib/mail/message.rb#1931
  def find_first_mime_type(mt); end

  # source://mail/2.8.1/lib/mail/message.rb#658
  def from(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#670
  def from=(val); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#5
  def from_address; end

  # source://mail/2.8.1/lib/mail/message.rb#1288
  def from_addrs; end

  # source://mail/2.8.1/lib/mail/message.rb#1630
  def has_attachments?; end

  # source://mail/2.8.1/lib/mail/message.rb#1423
  def has_charset?; end

  # source://mail/2.8.1/lib/mail/message.rb#1428
  def has_content_transfer_encoding?; end

  # source://mail/2.8.1/lib/mail/message.rb#1418
  def has_content_type?; end

  # source://mail/2.8.1/lib/mail/message.rb#1408
  def has_date?; end

  # source://mail/2.8.1/lib/mail/message.rb#1402
  def has_message_id?; end

  # source://mail/2.8.1/lib/mail/message.rb#1414
  def has_mime_version?; end

  # source://mail/2.8.1/lib/mail/message.rb#443
  def header(value = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#428
  def header=(value); end

  # source://mail/2.8.1/lib/mail/message.rb#1396
  def header_fields; end

  # source://mail/2.8.1/lib/mail/message.rb#448
  def headers(hash = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1635
  def html_part(&block); end

  # source://mail/2.8.1/lib/mail/message.rb#1655
  def html_part=(msg); end

  # source://mail/2.8.1/lib/mail/message.rb#674
  def in_reply_to(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#678
  def in_reply_to=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#240
  def inform_interceptors; end

  # source://mail/2.8.1/lib/mail/message.rb#236
  def inform_observers; end

  # source://mail/2.8.1/lib/mail/message.rb#1873
  def inspect; end

  # source://mail/2.8.1/lib/mail/message.rb#1877
  def inspect_structure; end

  # source://mail/2.8.1/lib/mail/message.rb#1960
  def is_marked_for_delete?; end

  # source://mail/2.8.1/lib/mail/message.rb#682
  def keywords(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#686
  def keywords=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1513
  def main_type; end

  # source://mail/2.8.1/lib/mail/message.rb#1947
  def mark_for_delete=(value = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#703
  def message_id(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#712
  def message_id=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1377
  def method_missing(name, *args, &block); end

  # source://mail/2.8.1/lib/mail/message.rb#1492
  def mime_type; end

  # source://mail/2.8.1/lib/mail/message.rb#729
  def mime_version(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#739
  def mime_version=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1528
  def multipart?; end

  # source://mail/2.8.1/lib/mail/message.rb#1533
  def multipart_report?; end

  # source://mail/2.8.1/lib/mail/message.rb#1722
  def part(params = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1588
  def parts; end

  # source://mail/2.8.1/lib/mail/message.rb#223
  def perform_deliveries; end

  # source://mail/2.8.1/lib/mail/message.rb#223
  def perform_deliveries=(_arg0); end

  # source://mail/2.8.1/lib/mail/message.rb#230
  def raise_delivery_errors; end

  # source://mail/2.8.1/lib/mail/message.rb#230
  def raise_delivery_errors=(_arg0); end

  # source://mail/2.8.1/lib/mail/message.rb#410
  def raw_envelope; end

  # source://mail/2.8.1/lib/mail/message.rb#397
  def raw_source; end

  # source://mail/2.8.1/lib/mail/message.rb#1899
  def read; end

  # source://mail/2.8.1/lib/mail/message.rb#1791
  def ready_to_send!; end

  # source://mail/2.8.1/lib/mail/message.rb#743
  def received(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#751
  def received=(val); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/recipients.rb#5
  def recipients; end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#9
  def recipients_addresses; end

  # source://mail/2.8.1/lib/mail/message.rb#755
  def references(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#759
  def references=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1574
  def remote_mta; end

  # source://mail/2.8.1/lib/mail/message.rb#282
  def reply(*args, &block); end

  # source://mail/2.8.1/lib/mail/message.rb#788
  def reply_to(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#800
  def reply_to=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#829
  def resent_bcc(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#841
  def resent_bcc=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#870
  def resent_cc(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#882
  def resent_cc=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#886
  def resent_date(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#890
  def resent_date=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#919
  def resent_from(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#931
  def resent_from=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#935
  def resent_message_id(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#939
  def resent_message_id=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#958
  def resent_sender(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#968
  def resent_sender=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#997
  def resent_to(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1009
  def resent_to=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1578
  def retryable?; end

  # source://mail/2.8.1/lib/mail/message.rb#1014
  def return_path(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1019
  def return_path=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1037
  def sender(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1047
  def sender=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#402
  def set_envelope(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1939
  def skip_deletion; end

  # source://mail/2.8.1/lib/mail/message.rb#1067
  def smtp_envelope_from(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1081
  def smtp_envelope_from=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1100
  def smtp_envelope_to(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1117
  def smtp_envelope_to=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1518
  def sub_type; end

  # source://mail/2.8.1/lib/mail/message.rb#1142
  def subject(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1152
  def subject=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1964
  def text?; end

  # source://mail/2.8.1/lib/mail/message.rb#1644
  def text_part(&block); end

  # source://mail/2.8.1/lib/mail/message.rb#1679
  def text_part=(msg); end

  # source://mail/2.8.1/lib/mail/message.rb#1181
  def to(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#1193
  def to=(val); end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#13
  def to_addresses; end

  # source://mail/2.8.1/lib/mail/message.rb#1294
  def to_addrs; end

  # source://mail/2.8.1/lib/mail/message.rb#1869
  def to_s; end

  # source://mail/2.8.1/lib/mail/message.rb#1823
  def to_yaml(opts = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#621
  def transport_encoding(val = T.unsafe(nil)); end

  # source://mail/2.8.1/lib/mail/message.rb#629
  def transport_encoding=(val); end

  # source://mail/2.8.1/lib/mail/message.rb#1811
  def without_attachments!; end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#25
  def x_original_to_addresses; end

  private

  # source://mail/2.8.1/lib/mail/message.rb#2067
  def add_boundary; end

  # source://mail/2.8.1/lib/mail/message.rb#2032
  def add_encoding_to_body; end

  # source://mail/2.8.1/lib/mail/message.rb#2062
  def add_multipart_alternate_header; end

  # source://mail/2.8.1/lib/mail/message.rb#2079
  def add_multipart_mixed_header; end

  # source://mail/2.8.1/lib/mail/message.rb#2048
  def add_required_fields; end

  # source://mail/2.8.1/lib/mail/message.rb#2056
  def add_required_message_fields; end

  # source://actionmailbox//lib/action_mailbox/mail_ext/addresses.rb#30
  def address_list(obj); end

  # source://mail/2.8.1/lib/mail/message.rb#2025
  def allowed_encodings; end

  # source://mail/2.8.1/lib/mail/message.rb#1990
  def body_lazy(value); end

  # source://mail/2.8.1/lib/mail/message.rb#2152
  def decode_body_as_text; end

  # source://mail/2.8.1/lib/mail/message.rb#2142
  def do_delivery; end

  # source://mail/2.8.1/lib/mail/message.rb#2124
  def find_attachment; end

  # source://mail/2.8.1/lib/mail/message.rb#2038
  def identify_and_set_transfer_encoding; end

  # source://mail/2.8.1/lib/mail/message.rb#2086
  def init_with_hash(hash); end

  # source://mail/2.8.1/lib/mail/message.rb#2116
  def init_with_string(string); end

  # source://mail/2.8.1/lib/mail/message.rb#384
  def initialize_copy(original); end

  # source://mail/2.8.1/lib/mail/message.rb#1979
  def parse_message; end

  # source://mail/2.8.1/lib/mail/message.rb#2005
  def process_body_raw; end

  # source://mail/2.8.1/lib/mail/message.rb#1985
  def raw_source=(value); end

  # source://mail/2.8.1/lib/mail/message.rb#2021
  def separate_parts; end

  # source://mail/2.8.1/lib/mail/message.rb#2013
  def set_envelope_header; end

  class << self
    # source://mail/2.8.1/lib/mail/message.rb#232
    def default_charset; end

    # source://mail/2.8.1/lib/mail/message.rb#233
    def default_charset=(charset); end

    # source://mail/2.8.1/lib/mail/message.rb#1865
    def from_hash(hash); end

    # source://mail/2.8.1/lib/mail/message.rb#1843
    def from_yaml(str); end
  end
end

# source://mail/2.8.1/lib/mail/message.rb#1970
Mail::Message::HEADER_SEPARATOR = T.let(T.unsafe(nil), Regexp)

# source://mail/2.8.1/lib/mail/mail.rb#241
Mail::RANDOM_TAG = T.let(T.unsafe(nil), String)

module Rails
  class << self
    # source://railties/7.0.5/lib/rails.rb#38
    def app_class; end

    # source://railties/7.0.5/lib/rails.rb#38
    def app_class=(_arg0); end

    # source://railties/7.0.5/lib/rails.rb#39
    def application; end

    # source://railties/7.0.5/lib/rails.rb#37
    def application=(_arg0); end

    # source://railties/7.0.5/lib/rails.rb#123
    def autoloaders; end

    # source://railties/7.0.5/lib/rails.rb#50
    def backtrace_cleaner; end

    # source://railties/7.0.5/lib/rails.rb#38
    def cache; end

    # source://railties/7.0.5/lib/rails.rb#38
    def cache=(_arg0); end

    # source://railties/7.0.5/lib/rails.rb#46
    def configuration; end

    # source://railties/7.0.5/lib/rails.rb#72
    def env; end

    # source://railties/7.0.5/lib/rails.rb#79
    def env=(environment); end

    # source://railties/7.0.5/lib/rails.rb#90
    def error; end

    # source://railties/7.0.5/lib/rails/gem_version.rb#5
    def gem_version; end

    # source://railties/7.0.5/lib/rails.rb#103
    def groups(*groups); end

    # source://railties/7.0.5/lib/rails.rb#43
    def initialize!(*_arg0, **_arg1, &_arg2); end

    # source://railties/7.0.5/lib/rails.rb#43
    def initialized?(*_arg0, **_arg1, &_arg2); end

    # source://railties/7.0.5/lib/rails.rb#38
    def logger; end

    # source://railties/7.0.5/lib/rails.rb#38
    def logger=(_arg0); end

    # source://railties/7.0.5/lib/rails.rb#119
    def public_path; end

    # source://railties/7.0.5/lib/rails.rb#63
    def root; end

    # source://railties/7.0.5/lib/rails/version.rb#7
    def version; end
  end
end

# source://rails-html-sanitizer/1.6.0/lib/rails-html-sanitizer.rb#11
Rails::Html = Rails::HTML