diff --git a/Gemfile.lock b/Gemfile.lock
index b9fcd27b1..234275ea8 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -34,29 +34,29 @@ GEM
concurrent-ruby (~> 1.0)
action_text-trix (2.1.16)
railties
- actioncable (8.1.1)
- actionpack (= 8.1.1)
- activesupport (= 8.1.1)
+ actioncable (8.1.2)
+ actionpack (= 8.1.2)
+ activesupport (= 8.1.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
- actionmailbox (8.1.1)
- actionpack (= 8.1.1)
- activejob (= 8.1.1)
- activerecord (= 8.1.1)
- activestorage (= 8.1.1)
- activesupport (= 8.1.1)
+ actionmailbox (8.1.2)
+ actionpack (= 8.1.2)
+ activejob (= 8.1.2)
+ activerecord (= 8.1.2)
+ activestorage (= 8.1.2)
+ activesupport (= 8.1.2)
mail (>= 2.8.0)
- actionmailer (8.1.1)
- actionpack (= 8.1.1)
- actionview (= 8.1.1)
- activejob (= 8.1.1)
- activesupport (= 8.1.1)
+ actionmailer (8.1.2)
+ actionpack (= 8.1.2)
+ actionview (= 8.1.2)
+ activejob (= 8.1.2)
+ activesupport (= 8.1.2)
mail (>= 2.8.0)
rails-dom-testing (~> 2.2)
- actionpack (8.1.1)
- actionview (= 8.1.1)
- activesupport (= 8.1.1)
+ actionpack (8.1.2)
+ actionview (= 8.1.2)
+ activesupport (= 8.1.2)
nokogiri (>= 1.8.5)
rack (>= 2.2.4)
rack-session (>= 1.0.1)
@@ -64,32 +64,32 @@ GEM
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
- actiontext (8.1.1)
+ actiontext (8.1.2)
action_text-trix (~> 2.1.15)
- actionpack (= 8.1.1)
- activerecord (= 8.1.1)
- activestorage (= 8.1.1)
- activesupport (= 8.1.1)
+ actionpack (= 8.1.2)
+ activerecord (= 8.1.2)
+ activestorage (= 8.1.2)
+ activesupport (= 8.1.2)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
- actionview (8.1.1)
- activesupport (= 8.1.1)
+ actionview (8.1.2)
+ activesupport (= 8.1.2)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
- activejob (8.1.1)
- activesupport (= 8.1.1)
+ activejob (8.1.2)
+ activesupport (= 8.1.2)
globalid (>= 0.3.6)
- activemodel (8.1.1)
- activesupport (= 8.1.1)
+ activemodel (8.1.2)
+ activesupport (= 8.1.2)
activemodel-serializers-xml (1.0.3)
activemodel (>= 5.0.0.a)
activesupport (>= 5.0.0.a)
builder (~> 3.1)
- activerecord (8.1.1)
- activemodel (= 8.1.1)
- activesupport (= 8.1.1)
+ activerecord (8.1.2)
+ activemodel (= 8.1.2)
+ activesupport (= 8.1.2)
timeout (>= 0.4.0)
activerecord-typedstore (1.6.0)
activerecord (>= 6.1)
@@ -97,13 +97,13 @@ GEM
activemodel (>= 7.0)
activemodel-serializers-xml (~> 1.0)
activesupport (>= 7.0)
- activestorage (8.1.1)
- actionpack (= 8.1.1)
- activejob (= 8.1.1)
- activerecord (= 8.1.1)
- activesupport (= 8.1.1)
+ activestorage (8.1.2)
+ actionpack (= 8.1.2)
+ activejob (= 8.1.2)
+ activerecord (= 8.1.2)
+ activesupport (= 8.1.2)
marcel (~> 1.0)
- activesupport (8.1.1)
+ activesupport (8.1.2)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -155,7 +155,7 @@ GEM
fiber-storage (1.0.1)
frozen_record (0.27.4)
activemodel
- globalid (1.2.1)
+ globalid (1.3.0)
activesupport (>= 6.1)
google-protobuf (4.33.4)
bigdecimal
@@ -206,12 +206,13 @@ GEM
loofah (2.25.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
- mail (2.8.1)
+ mail (2.9.0)
+ logger
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
- marcel (1.0.4)
+ marcel (1.1.0)
mini_mime (1.1.5)
minitest (5.27.0)
minitest-hooks (1.5.3)
@@ -224,17 +225,17 @@ GEM
mutex_m (0.3.0)
net-http (0.4.1)
uri
- net-imap (0.5.7)
+ net-imap (0.6.2)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
- net-smtp (0.5.0)
+ net-smtp (0.5.1)
net-protocol
netrc (0.11.0)
- nio4r (2.7.4)
+ nio4r (2.7.5)
nokogiri (1.19.0-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.19.0-aarch64-linux-musl)
@@ -269,20 +270,20 @@ GEM
rack (>= 1.3)
rackup (2.3.1)
rack (>= 3)
- rails (8.1.1)
- actioncable (= 8.1.1)
- actionmailbox (= 8.1.1)
- actionmailer (= 8.1.1)
- actionpack (= 8.1.1)
- actiontext (= 8.1.1)
- actionview (= 8.1.1)
- activejob (= 8.1.1)
- activemodel (= 8.1.1)
- activerecord (= 8.1.1)
- activestorage (= 8.1.1)
- activesupport (= 8.1.1)
+ rails (8.1.2)
+ actioncable (= 8.1.2)
+ actionmailbox (= 8.1.2)
+ actionmailer (= 8.1.2)
+ actionpack (= 8.1.2)
+ actiontext (= 8.1.2)
+ actionview (= 8.1.2)
+ activejob (= 8.1.2)
+ activemodel (= 8.1.2)
+ activerecord (= 8.1.2)
+ activestorage (= 8.1.2)
+ activesupport (= 8.1.2)
bundler (>= 1.15.0)
- railties (= 8.1.1)
+ railties (= 8.1.2)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
@@ -290,9 +291,9 @@ GEM
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
- railties (8.1.1)
- actionpack (= 8.1.1)
- activesupport (= 8.1.1)
+ railties (8.1.2)
+ actionpack (= 8.1.2)
+ activesupport (= 8.1.2)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
@@ -402,7 +403,8 @@ GEM
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- websocket-driver (0.7.6)
+ websocket-driver (0.8.0)
+ base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
diff --git a/sorbet/config b/sorbet/config
index 9d0081b34..ccbd49ac0 100644
--- a/sorbet/config
+++ b/sorbet/config
@@ -3,3 +3,4 @@
--ignore=/vendor
--enable-experimental-requires-ancestor
--enable-experimental-rbs-comments
+--suppress-payload-superclass-redefinition-for=Net::IMAP::CommandData
diff --git a/sorbet/rbi/dsl/active_support/callbacks.rbi b/sorbet/rbi/dsl/active_support/callbacks.rbi
index 4c1ad1358..15ee6be8b 100644
--- a/sorbet/rbi/dsl/active_support/callbacks.rbi
+++ b/sorbet/rbi/dsl/active_support/callbacks.rbi
@@ -13,11 +13,9 @@ module ActiveSupport::Callbacks
module GeneratedClassMethods
def __callbacks; end
def __callbacks=(value); end
- def __callbacks?; end
end
module GeneratedInstanceMethods
def __callbacks; end
- def __callbacks?; end
end
end
diff --git a/sorbet/rbi/gems/actioncable@8.1.1.rbi b/sorbet/rbi/gems/actioncable@8.1.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/actioncable@8.1.1.rbi
rename to sorbet/rbi/gems/actioncable@8.1.2.rbi
diff --git a/sorbet/rbi/gems/actionmailbox@8.1.1.rbi b/sorbet/rbi/gems/actionmailbox@8.1.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/actionmailbox@8.1.1.rbi
rename to sorbet/rbi/gems/actionmailbox@8.1.2.rbi
diff --git a/sorbet/rbi/gems/actionmailer@8.1.1.rbi b/sorbet/rbi/gems/actionmailer@8.1.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/actionmailer@8.1.1.rbi
rename to sorbet/rbi/gems/actionmailer@8.1.2.rbi
diff --git a/sorbet/rbi/gems/actionpack@8.1.1.rbi b/sorbet/rbi/gems/actionpack@8.1.2.rbi
similarity index 99%
rename from sorbet/rbi/gems/actionpack@8.1.1.rbi
rename to sorbet/rbi/gems/actionpack@8.1.2.rbi
index ad19e5481..82d93ba44 100644
--- a/sorbet/rbi/gems/actionpack@8.1.1.rbi
+++ b/sorbet/rbi/gems/actionpack@8.1.2.rbi
@@ -4545,22 +4545,65 @@ class ActionController::InvalidParameterKey < ::ArgumentError; end
# ...
# end
#
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:56
+# ## Streaming and Execution State
+#
+# When streaming, the action is executed in a separate thread. By default, this thread
+# shares execution state from the parent thread.
+#
+# You can configure which execution state keys should be excluded from being shared
+# using the `config.action_controller.live_streaming_excluded_keys` configuration:
+#
+# # config/application.rb
+# config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]
+#
+# This is useful when using ActionController::Live inside a `connected_to` block. For example,
+# if the parent request is reading from a replica using `connected_to(role: :reading)`, you may
+# want the streaming thread to use its own connection context instead of inheriting the read-only
+# context:
+#
+# # Without configuration, streaming thread inherits read-only connection
+# ActiveRecord::Base.connected_to(role: :reading) do
+# @posts = Post.all
+# render stream: true # Streaming thread cannot write to database
+# end
+#
+# # With configuration, streaming thread gets fresh connection context
+# # config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]
+# ActiveRecord::Base.connected_to(role: :reading) do
+# @posts = Post.all
+# render stream: true # Streaming thread can write to database if needed
+# end
+#
+# Common keys you might want to exclude:
+# - `:active_record_connected_to_stack` - Database connection routing and roles
+# - `:active_record_prohibit_shard_swapping` - Shard swapping restrictions
+#
+# By default, no keys are excluded to maintain backward compatibility.
+#
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:91
module ActionController::Live
extend ::ActiveSupport::Concern
+ include GeneratedInstanceMethods
+ mixes_in_class_methods GeneratedClassMethods
mixes_in_class_methods ::ActionController::Live::ClassMethods
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:371
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:413
def clean_up_thread_locals(*args); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:362
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94
+ def live_streaming_excluded_keys; end
+
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94
+ def live_streaming_excluded_keys=(val); end
+
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:404
def new_controller_thread; end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:266
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:307
def process(name); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:310
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:352
def response_body=(body); end
# Sends a stream to the browser, which is helpful when you're generating exports
@@ -4589,12 +4632,12 @@ module ActionController::Live
# end
# end
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:340
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:382
def send_stream(filename:, disposition: T.unsafe(nil), type: T.unsafe(nil)); end
private
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:379
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:421
def log_error(exception); end
# Ensure we clean up any thread locals we copied so that the thread can reused.
@@ -4617,18 +4660,32 @@ module ActionController::Live
def original_new_controller_thread; end
class << self
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:375
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94
+ def live_streaming_excluded_keys; end
+
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94
+ def live_streaming_excluded_keys=(val); end
+
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:417
def live_thread_pool_executor; end
end
+
+ module GeneratedClassMethods
+ def live_streaming_excluded_keys; end
+ def live_streaming_excluded_keys=(value); end
+ def live_streaming_excluded_keys?; end
+ end
+
+ module GeneratedInstanceMethods; end
end
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:152
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:193
class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
include ::MonitorMixin
# @return [Buffer] a new instance of Buffer
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:167
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:208
def initialize(response); end
# Inform the producer/writing thread that the client has disconnected; the
@@ -4636,10 +4693,10 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
#
# See also #close.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:215
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:256
def abort; end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:234
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:275
def call_on_error; end
# Write a 'close' event to the buffer; the producer/writing thread uses this to
@@ -4647,7 +4704,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
#
# See also #abort.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:203
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:244
def close; end
# Is the client still connected and waiting for content?
@@ -4657,7 +4714,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
#
# @return [Boolean]
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:226
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:267
def connected?; end
# Ignore that the client has disconnected.
@@ -4666,7 +4723,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
# result in the written content being silently discarded. If this value is
# `false` (the default), a ClientDisconnected exception will be raised.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:165
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:206
def ignore_disconnect; end
# Ignore that the client has disconnected.
@@ -4675,60 +4732,60 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer
# result in the written content being silently discarded. If this value is
# `false` (the default), a ClientDisconnected exception will be raised.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:165
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:206
def ignore_disconnect=(_arg0); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:230
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:271
def on_error(&block); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:175
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:216
def write(string); end
# Same as `write` but automatically include a newline at the end of the string.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:195
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:236
def writeln(string); end
private
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:245
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:286
def build_queue(queue_size); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:239
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:280
def each_chunk(&block); end
class << self
# Returns the value of attribute queue_size.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:156
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:197
def queue_size; end
# Sets the attribute queue_size
#
# @param value the value to set the attribute queue_size to.
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:156
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:197
def queue_size=(_arg0); end
end
end
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:59
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:100
module ActionController::Live::ClassMethods
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:60
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:101
def make_response!(request); end
end
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:149
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:190
class ActionController::Live::ClientDisconnected < ::RuntimeError; end
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:250
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:291
class ActionController::Live::Response < ::ActionDispatch::Response
private
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:252
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:293
def before_committed; end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:259
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:300
def build_buffer(response, body); end
end
@@ -4771,26 +4828,26 @@ end
# Note: SSEs are not currently supported by IE. However, they are supported by
# Chrome, Firefox, Opera, and Safari.
#
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:112
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:153
class ActionController::Live::SSE
# @return [SSE] a new instance of SSE
#
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:115
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:156
def initialize(stream, options = T.unsafe(nil)); end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:120
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:161
def close; end
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:124
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:165
def write(object, options = T.unsafe(nil)); end
private
- # pkg:gem/actionpack#lib/action_controller/metal/live.rb:134
+ # pkg:gem/actionpack#lib/action_controller/metal/live.rb:175
def perform_write(json, options); end
end
-# pkg:gem/actionpack#lib/action_controller/metal/live.rb:113
+# pkg:gem/actionpack#lib/action_controller/metal/live.rb:154
ActionController::Live::SSE::PERMITTED_OPTIONS = T.let(T.unsafe(nil), Array)
# pkg:gem/actionpack#lib/action_controller/test_case.rb:184
@@ -4822,28 +4879,28 @@ class ActionController::LogSubscriber < ::ActiveSupport::LogSubscriber
# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7
def backtrace_cleaner?; end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:89
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93
def exist_fragment?(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:89
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93
def expire_fragment(event); end
# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:47
def halted_callback(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:101
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:105
def logger; end
# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:26
def process_action(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:89
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93
def read_fragment(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:105
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:109
def redirect_source_location; end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:64
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:68
def redirect_to(event); end
# Manually subscribed below
@@ -4851,19 +4908,19 @@ class ActionController::LogSubscriber < ::ActiveSupport::LogSubscriber
# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:53
def rescue_from_callback(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:73
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:77
def send_data(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:59
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:63
def send_file(event); end
# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:9
def start_processing(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:78
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:82
def unpermitted_parameters(event); end
- # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:89
+ # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93
def write_fragment(event); end
class << self
@@ -7322,7 +7379,7 @@ module ActionController::Redirecting
# The `action_on_open_redirect` configuration option controls the behavior when an unsafe
# redirect is detected:
# * `:log` - Logs a warning but allows the redirect
- # * `:notify` - Sends an ActiveSupport notification for monitoring
+ # * `:notify` - Sends an Active Support notification for monitoring
# * `:raise` - Raises an UnsafeRedirectError
#
# To allow any external redirects pass `allow_other_host: true`, though using a
@@ -7349,7 +7406,7 @@ module ActionController::Redirecting
# config.action_controller.action_on_path_relative_redirect = :raise
#
# * `:log` - Logs a warning but allows the redirect
- # * `:notify` - Sends an ActiveSupport notification but allows the redirect
+ # * `:notify` - Sends an Active Support notification but allows the redirect
# (includes stack trace to help identify the source)
# * `:raise` - Raises an UnsafeRedirectError
#
@@ -8850,10 +8907,10 @@ end
class ActionController::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber
# @return [Boolean]
#
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:87
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:91
def exist_fragment?(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:91
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:95
def expire_fragment(event); end
# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:43
@@ -8862,36 +8919,36 @@ class ActionController::StructuredEventSubscriber < ::ActiveSupport::StructuredE
# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:25
def process_action(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:83
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:87
def read_fragment(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:60
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:64
def redirect_to(event); end
# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:47
def rescue_from_callback(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:64
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:68
def send_data(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:56
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:60
def send_file(event); end
# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:7
def start_processing(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:68
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:72
def unpermitted_parameters(event); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:79
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:83
def write_fragment(event); end
private
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:106
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:110
def additions_for(payload); end
- # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:96
+ # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:100
def fragment_cache(method_name, event); end
end
@@ -15879,18 +15936,18 @@ class ActionDispatch::RemoteIp::GetIp
# Memoizes the value returned by #calculate_ip and returns it for
# ActionDispatch::Request to use.
#
- # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:173
+ # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:174
def to_s; end
private
- # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:196
+ # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:197
def filter_proxies(ips); end
- # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:178
+ # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:179
def ips_from(header); end
- # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:184
+ # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:185
def sanitize_ips(ips); end
end
diff --git a/sorbet/rbi/gems/actiontext@8.1.1.rbi b/sorbet/rbi/gems/actiontext@8.1.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/actiontext@8.1.1.rbi
rename to sorbet/rbi/gems/actiontext@8.1.2.rbi
diff --git a/sorbet/rbi/gems/actionview@8.1.1.rbi b/sorbet/rbi/gems/actionview@8.1.2.rbi
similarity index 99%
rename from sorbet/rbi/gems/actionview@8.1.1.rbi
rename to sorbet/rbi/gems/actionview@8.1.2.rbi
index 45a62b908..1dd838107 100644
--- a/sorbet/rbi/gems/actionview@8.1.1.rbi
+++ b/sorbet/rbi/gems/actionview@8.1.2.rbi
@@ -10634,7 +10634,7 @@ class ActionView::Helpers::Tags::FileField < ::ActionView::Helpers::Tags::TextFi
private
- # pkg:gem/actionview#lib/action_view/helpers/tags/file_field.rb:20
+ # pkg:gem/actionview#lib/action_view/helpers/tags/file_field.rb:23
def hidden_field_for_multiple_file(options); end
end
diff --git a/sorbet/rbi/gems/activejob@8.1.1.rbi b/sorbet/rbi/gems/activejob@8.1.2.rbi
similarity index 98%
rename from sorbet/rbi/gems/activejob@8.1.1.rbi
rename to sorbet/rbi/gems/activejob@8.1.2.rbi
index af15e2d44..f08ef6313 100644
--- a/sorbet/rbi/gems/activejob@8.1.1.rbi
+++ b/sorbet/rbi/gems/activejob@8.1.2.rbi
@@ -74,48 +74,45 @@ module ActiveJob::Arguments
private
- # pkg:gem/activejob#lib/active_job/arguments.rb:193
+ # pkg:gem/activejob#lib/active_job/arguments.rb:191
def convert_to_global_id_hash(argument); end
# @return [Boolean]
#
- # pkg:gem/activejob#lib/active_job/arguments.rb:138
+ # pkg:gem/activejob#lib/active_job/arguments.rb:136
def custom_serialized?(hash); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:111
+ # pkg:gem/activejob#lib/active_job/arguments.rb:109
def deserialize_argument(argument); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:134
+ # pkg:gem/activejob#lib/active_job/arguments.rb:132
def deserialize_global_id(hash); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:148
+ # pkg:gem/activejob#lib/active_job/arguments.rb:146
def deserialize_hash(serialized_hash); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:142
+ # pkg:gem/activejob#lib/active_job/arguments.rb:140
def serialize_hash(argument); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:161
+ # pkg:gem/activejob#lib/active_job/arguments.rb:159
def serialize_hash_key(key); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:174
+ # pkg:gem/activejob#lib/active_job/arguments.rb:172
def serialize_indifferent_hash(indifferent_hash); end
# @return [Boolean]
#
- # pkg:gem/activejob#lib/active_job/arguments.rb:130
+ # pkg:gem/activejob#lib/active_job/arguments.rb:128
def serialized_global_id?(hash); end
- # pkg:gem/activejob#lib/active_job/arguments.rb:180
+ # pkg:gem/activejob#lib/active_job/arguments.rb:178
def transform_symbol_keys(hash, symbol_keys); end
end
# pkg:gem/activejob#lib/active_job/arguments.rb:90
ActiveJob::Arguments::GLOBALID_KEY = T.let(T.unsafe(nil), String)
-# pkg:gem/activejob#lib/active_job/arguments.rb:98
-ActiveJob::Arguments::OBJECT_SERIALIZER_KEY = T.let(T.unsafe(nil), String)
-
-# pkg:gem/activejob#lib/active_job/arguments.rb:101
+# pkg:gem/activejob#lib/active_job/arguments.rb:99
ActiveJob::Arguments::RESERVED_KEYS = T.let(T.unsafe(nil), Set)
# pkg:gem/activejob#lib/active_job/arguments.rb:94
@@ -1464,8 +1461,25 @@ end
module ActiveJob::EnqueueAfterTransactionCommit
private
- # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:6
+ # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:25
def raw_enqueue; end
+
+ class << self
+ # @private
+ #
+ # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:6
+ def included(base); end
+ end
+end
+
+# pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:11
+module ActiveJob::EnqueueAfterTransactionCommit::ActiveJobMethods
+ # Ensures perform_all_later respects each job's enqueue_after_transaction_commit configuration.
+ # Jobs with enqueue_after_transaction_commit set to true are deferred and enqueued only after the transaction commits;
+ # other jobs are enqueued immediately. This ensures enqueuing timing matches the per-job setting.
+ #
+ # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:15
+ def perform_all_later(*jobs); end
end
# Can be raised by adapters if they wish to communicate to the caller a reason
@@ -2132,12 +2146,12 @@ module ActiveJob::QueueAdapters
# ActiveJob::QueueAdapters.lookup(:sidekiq)
# # => ActiveJob::QueueAdapters::SidekiqAdapter
#
- # pkg:gem/activejob#lib/active_job/queue_adapters.rb:135
+ # pkg:gem/activejob#lib/active_job/queue_adapters.rb:134
def lookup(name); end
end
end
-# pkg:gem/activejob#lib/active_job/queue_adapters.rb:127
+# pkg:gem/activejob#lib/active_job/queue_adapters.rb:126
ActiveJob::QueueAdapters::ADAPTER = T.let(T.unsafe(nil), String)
# = Active Job Abstract Adapter
@@ -2767,6 +2781,9 @@ class ActiveJob::Serializers::ModuleSerializer < ::ActiveJob::Serializers::Objec
def serialize(constant); end
end
+# pkg:gem/activejob#lib/active_job/serializers.rb:104
+ActiveJob::Serializers::OBJECT_SERIALIZER_KEY = T.let(T.unsafe(nil), String)
+
# Base class for serializing and deserializing custom objects.
#
# Example:
diff --git a/sorbet/rbi/gems/activemodel@8.1.1.rbi b/sorbet/rbi/gems/activemodel@8.1.2.rbi
similarity index 99%
rename from sorbet/rbi/gems/activemodel@8.1.1.rbi
rename to sorbet/rbi/gems/activemodel@8.1.2.rbi
index 74bf957ab..4cc6675fa 100644
--- a/sorbet/rbi/gems/activemodel@8.1.1.rbi
+++ b/sorbet/rbi/gems/activemodel@8.1.2.rbi
@@ -3872,22 +3872,22 @@ class ActiveModel::Railtie < ::Rails::Railtie; end
# pkg:gem/activemodel#lib/active_model/errors.rb:520
class ActiveModel::RangeError < ::RangeError; end
-# pkg:gem/activemodel#lib/active_model/secure_password.rb:4
+# pkg:gem/activemodel#lib/active_model/secure_password.rb:6
module ActiveModel::SecurePassword
extend ::ActiveSupport::Concern
mixes_in_class_methods ::ActiveModel::SecurePassword::ClassMethods
class << self
- # pkg:gem/activemodel#lib/active_model/secure_password.rb:15
+ # pkg:gem/activemodel#lib/active_model/secure_password.rb:17
def min_cost; end
- # pkg:gem/activemodel#lib/active_model/secure_password.rb:15
+ # pkg:gem/activemodel#lib/active_model/secure_password.rb:17
def min_cost=(_arg0); end
end
end
-# pkg:gem/activemodel#lib/active_model/secure_password.rb:19
+# pkg:gem/activemodel#lib/active_model/secure_password.rb:21
module ActiveModel::SecurePassword::ClassMethods
# Adds methods to set and authenticate against a BCrypt password.
# This mechanism requires you to have a +XXX_digest+ attribute,
@@ -3993,18 +3993,18 @@ module ActiveModel::SecurePassword::ClassMethods
# # raises ActiveSupport::MessageVerifier::InvalidSignature since the token is expired
# User.find_by_password_reset_token!(token)
#
- # pkg:gem/activemodel#lib/active_model/secure_password.rb:123
+ # pkg:gem/activemodel#lib/active_model/secure_password.rb:125
def has_secure_password(attribute = T.unsafe(nil), validations: T.unsafe(nil), reset_token: T.unsafe(nil)); end
end
-# pkg:gem/activemodel#lib/active_model/secure_password.rb:12
+# pkg:gem/activemodel#lib/active_model/secure_password.rb:14
ActiveModel::SecurePassword::DEFAULT_RESET_TOKEN_EXPIRES_IN = T.let(T.unsafe(nil), ActiveSupport::Duration)
-# pkg:gem/activemodel#lib/active_model/secure_password.rb:194
+# pkg:gem/activemodel#lib/active_model/secure_password.rb:196
class ActiveModel::SecurePassword::InstanceMethodsOnActivation < ::Module
# @return [InstanceMethodsOnActivation] a new instance of InstanceMethodsOnActivation
#
- # pkg:gem/activemodel#lib/active_model/secure_password.rb:195
+ # pkg:gem/activemodel#lib/active_model/secure_password.rb:197
def initialize(attribute, reset_token:); end
end
@@ -4012,7 +4012,7 @@ end
# password of length more than 72 bytes it ignores extra characters.
# Hence need to put a restriction on password length.
#
-# pkg:gem/activemodel#lib/active_model/secure_password.rb:10
+# pkg:gem/activemodel#lib/active_model/secure_password.rb:12
ActiveModel::SecurePassword::MAX_PASSWORD_LENGTH_ALLOWED = T.let(T.unsafe(nil), Integer)
# = Active \Model \Serialization
diff --git a/sorbet/rbi/gems/activerecord@8.1.1.rbi b/sorbet/rbi/gems/activerecord@8.1.2.rbi
similarity index 98%
rename from sorbet/rbi/gems/activerecord@8.1.1.rbi
rename to sorbet/rbi/gems/activerecord@8.1.2.rbi
index 61f8492e8..1638ef4f8 100644
--- a/sorbet/rbi/gems/activerecord@8.1.1.rbi
+++ b/sorbet/rbi/gems/activerecord@8.1.2.rbi
@@ -2498,9 +2498,9 @@ end
# associated records themselves, you can always do something along the lines of
# person.tasks.each(&:destroy).
#
-# == Deprecated Associations
+# == Deprecated \Associations
#
-# Associations can be marked as deprecated by passing deprecated: true:
+# \Associations can be marked as deprecated by passing deprecated: true:
#
# has_many :posts, deprecated: true
#
@@ -8575,7 +8575,7 @@ end
# So it's possible to assign a logger to the class through Base.logger= which will then be used by all
# instances in the current object space.
#
-# pkg:gem/activerecord#lib/active_record/base.rb:281
+# pkg:gem/activerecord#lib/active_record/base.rb:282
class ActiveRecord::Base
include ::ActionText::Encryption
include ::ActiveModel::Validations
@@ -8707,1431 +8707,1431 @@ class ActiveRecord::Base
extend ::ActionText::Attribute::ClassMethods
extend ::ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _before_commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _create_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _destroy_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _find_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _initialize_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def _reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def _reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _rollback_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_before_commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_before_commit_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_commit_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_create_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_create_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_destroy_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_destroy_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_find_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_find_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_initialize_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_initialize_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_rollback_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _run_rollback_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_save_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_save_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_touch_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_touch_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_update_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _run_update_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _run_validate_callbacks(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _run_validate_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def _run_validation_callbacks(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def _run_validation_callbacks!(&block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _save_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _touch_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _update_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validate_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def _validation_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validators; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validators?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def aggregate_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def aggregate_reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def attachment_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def attachment_reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_aliases; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_aliases?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_method_patterns; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_method_patterns?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatic_scope_inversing; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatic_scope_inversing?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatically_invert_plural_associations; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatically_invert_plural_associations?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_timestamp_format; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_timestamp_format?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_versioning?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def collection_cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def collection_cache_versioning?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def column_for_attribute(name, &_arg1); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def counter_cached_association_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def counter_cached_association_names?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_connection_handler; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_connection_handler?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_role; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_role?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scope_override; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scopes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_shard; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_shard?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def defined_enums; end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def defined_enums?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_batch_size; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_job(&_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes=(_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def include_root_in_json; end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def include_root_in_json?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def lock_optimistically; end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def lock_optimistically?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def logger; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def logger?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def model_name(&_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def nested_attributes_options; end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def nested_attributes_options?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes=(_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def param_delimiter=(_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_inserts; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_inserts?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_updates; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_updates?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def pluralize_table_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def pluralize_table_names?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def primary_key_prefix_type; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def primary_key_prefix_type?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps; end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps=(_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def skip_time_zone_conversion_for_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def skip_time_zone_conversion_for_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_class_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_class_name?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_sti_class; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_sti_class?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_prefix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_prefix?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_suffix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_suffix?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_types; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_types?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def type_for_attribute(*_arg0, **_arg1, &_arg2); end
class << self
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:300
+ # pkg:gem/activerecord#lib/active_record/base.rb:301
def _attr_readonly; end
- # pkg:gem/activerecord#lib/active_record/base.rb:300
+ # pkg:gem/activerecord#lib/active_record/base.rb:301
def _attr_readonly=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:300
+ # pkg:gem/activerecord#lib/active_record/base.rb:301
def _attr_readonly?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _before_commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _before_commit_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _commit_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _commit_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def _counter_cache_columns; end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def _counter_cache_columns=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def _counter_cache_columns?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _create_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _create_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def _destroy_association_async_job; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def _destroy_association_async_job=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def _destroy_association_async_job?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _destroy_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _destroy_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _find_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _find_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _initialize_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _initialize_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def _reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def _reflections=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def _reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _rollback_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:320
+ # pkg:gem/activerecord#lib/active_record/base.rb:321
def _rollback_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _save_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _save_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def _signed_id_verifier; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def _signed_id_verifier=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _touch_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _touch_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _update_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def _update_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validate_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validate_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def _validation_callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def _validation_callbacks=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validators; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validators=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def _validators?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_create(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_destroy(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_find(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_initialize(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_save(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_touch(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def after_update(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def aggregate_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def aggregate_reflections=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def aggregate_reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def application_record_class?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def around_create(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def around_destroy(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def around_save(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def around_update(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def asynchronous_queries_session; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def asynchronous_queries_tracker; end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def attachment_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def attachment_reflections=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def attachment_reflections?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_aliases; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_aliases=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_aliases?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_method_patterns; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_method_patterns=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def attribute_method_patterns?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def attributes_for_inspect; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def attributes_for_inspect=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def attributes_for_inspect?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatic_scope_inversing; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatic_scope_inversing=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatic_scope_inversing?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatically_invert_plural_associations; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatically_invert_plural_associations=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def automatically_invert_plural_associations?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def before_create(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def before_destroy(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def before_save(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:314
+ # pkg:gem/activerecord#lib/active_record/base.rb:315
def before_update(*args, **options, &block); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def belongs_to_required_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def belongs_to_required_by_default=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def belongs_to_required_by_default?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_timestamp_format; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_timestamp_format=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_timestamp_format?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_versioning=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def cache_versioning?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def collection_cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def collection_cache_versioning=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def collection_cache_versioning?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def configurations; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def configurations=(config); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connected_to_stack; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_class; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_class=(b); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_class?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_class_for_self; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_handler; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def connection_handler=(handler); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def counter_cached_association_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def counter_cached_association_names=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def counter_cached_association_names?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def current_preventing_writes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def current_role; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def current_shard; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def default_column_serializer; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def default_column_serializer=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def default_column_serializer?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_connection_handler; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_connection_handler=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_connection_handler?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_role; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_role=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_role?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scope_override; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scope_override=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scopes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def default_scopes=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_shard; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_shard=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def default_shard?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def defined_enums; end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def defined_enums=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def defined_enums?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_batch_size; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_batch_size=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_job; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def destroy_association_async_job=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def encrypted_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def enumerate_columns_in_select_statements; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def enumerate_columns_in_select_statements=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def enumerate_columns_in_select_statements?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def generated_token_verifier; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def generated_token_verifier=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def has_many_inversing; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def has_many_inversing=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def has_many_inversing?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def immutable_strings_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def immutable_strings_by_default=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def immutable_strings_by_default?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def implicit_order_column; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def implicit_order_column=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def implicit_order_column?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def include_root_in_json; end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def include_root_in_json=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def include_root_in_json?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def inheritance_column; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def inheritance_column=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def inheritance_column?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def internal_metadata_table_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def internal_metadata_table_name=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def internal_metadata_table_name?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:325
+ # pkg:gem/activerecord#lib/active_record/base.rb:326
def local_stored_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:325
+ # pkg:gem/activerecord#lib/active_record/base.rb:326
def local_stored_attributes=(_arg0); end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def lock_optimistically; end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def lock_optimistically=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def lock_optimistically?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def logger; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def logger=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def logger?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def nested_attributes_options; end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def nested_attributes_options=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def nested_attributes_options?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def normalized_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def param_delimiter; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def param_delimiter=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def param_delimiter?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_inserts; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_inserts=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_inserts?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_updates; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_updates=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def partial_updates?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def pluralize_table_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def pluralize_table_names=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def pluralize_table_names?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def preventing_writes?(class_name); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def primary_key_prefix_type; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def primary_key_prefix_type=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def primary_key_prefix_type?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps; end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def record_timestamps?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def run_commit_callbacks_on_first_saved_instances_in_transaction; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def run_commit_callbacks_on_first_saved_instances_in_transaction=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def run_commit_callbacks_on_first_saved_instances_in_transaction?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def schema_migrations_table_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def schema_migrations_table_name=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def schema_migrations_table_name?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def shard_selector; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def shard_selector=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def shard_selector?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret=(secret); end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def skip_time_zone_conversion_for_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def skip_time_zone_conversion_for_attributes=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def skip_time_zone_conversion_for_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_class_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_class_name=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_class_name?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_sti_class; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_sti_class=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def store_full_sti_class?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_by_default=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_by_default?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_mode; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_mode=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_mode?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def strict_loading_violation!(owner:, reflection:); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_prefix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_prefix=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_prefix?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_suffix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_suffix=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def table_name_suffix?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_attributes=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_attributes?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_types; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_types=(value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def time_zone_aware_types?; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def token_definitions; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def token_definitions=(value); end
private
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr___callbacks; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr___callbacks=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:300
+ # pkg:gem/activerecord#lib/active_record/base.rb:301
def __class_attr__attr_readonly; end
- # pkg:gem/activerecord#lib/active_record/base.rb:300
+ # pkg:gem/activerecord#lib/active_record/base.rb:301
def __class_attr__attr_readonly=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def __class_attr__counter_cache_columns; end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def __class_attr__counter_cache_columns=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr__destroy_association_async_job; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr__destroy_association_async_job=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr__reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr__reflections=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def __class_attr__signed_id_verifier; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def __class_attr__signed_id_verifier=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr__validators; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr__validators=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_aggregate_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_aggregate_reflections=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def __class_attr_attachment_reflections; end
- # pkg:gem/activerecord#lib/active_record/base.rb:335
+ # pkg:gem/activerecord#lib/active_record/base.rb:336
def __class_attr_attachment_reflections=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_attribute_aliases; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_attribute_aliases=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_attribute_method_patterns; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_attribute_method_patterns=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_attributes_for_inspect; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_attributes_for_inspect=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_automatic_scope_inversing; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_automatic_scope_inversing=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_automatically_invert_plural_associations; end
- # pkg:gem/activerecord#lib/active_record/base.rb:323
+ # pkg:gem/activerecord#lib/active_record/base.rb:324
def __class_attr_automatically_invert_plural_associations=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_belongs_to_required_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_belongs_to_required_by_default=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_cache_timestamp_format; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_cache_timestamp_format=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_cache_versioning=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_collection_cache_versioning; end
- # pkg:gem/activerecord#lib/active_record/base.rb:306
+ # pkg:gem/activerecord#lib/active_record/base.rb:307
def __class_attr_collection_cache_versioning=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def __class_attr_counter_cached_association_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:308
+ # pkg:gem/activerecord#lib/active_record/base.rb:309
def __class_attr_counter_cached_association_names=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_default_column_serializer; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_default_column_serializer=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_connection_handler; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_connection_handler=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_role; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_role=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def __class_attr_default_scope_override; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def __class_attr_default_scope_override=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def __class_attr_default_scopes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:303
+ # pkg:gem/activerecord#lib/active_record/base.rb:304
def __class_attr_default_scopes=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_shard; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_default_shard=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def __class_attr_defined_enums; end
- # pkg:gem/activerecord#lib/active_record/base.rb:294
+ # pkg:gem/activerecord#lib/active_record/base.rb:295
def __class_attr_defined_enums=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_destroy_association_async_batch_size; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_destroy_association_async_batch_size=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def __class_attr_encrypted_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:312
+ # pkg:gem/activerecord#lib/active_record/base.rb:313
def __class_attr_encrypted_attributes=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_enumerate_columns_in_select_statements; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_enumerate_columns_in_select_statements=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def __class_attr_generated_token_verifier; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def __class_attr_generated_token_verifier=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_has_many_inversing; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_has_many_inversing=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_immutable_strings_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_immutable_strings_by_default=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_implicit_order_column; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_implicit_order_column=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def __class_attr_include_root_in_json; end
- # pkg:gem/activerecord#lib/active_record/base.rb:324
+ # pkg:gem/activerecord#lib/active_record/base.rb:325
def __class_attr_include_root_in_json=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_inheritance_column; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_inheritance_column=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_internal_metadata_table_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_internal_metadata_table_name=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def __class_attr_lock_optimistically; end
- # pkg:gem/activerecord#lib/active_record/base.rb:310
+ # pkg:gem/activerecord#lib/active_record/base.rb:311
def __class_attr_lock_optimistically=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_logger; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_logger=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def __class_attr_nested_attributes_options; end
- # pkg:gem/activerecord#lib/active_record/base.rb:319
+ # pkg:gem/activerecord#lib/active_record/base.rb:320
def __class_attr_nested_attributes_options=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_normalized_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:309
+ # pkg:gem/activerecord#lib/active_record/base.rb:310
def __class_attr_normalized_attributes=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr_param_delimiter; end
- # pkg:gem/activerecord#lib/active_record/base.rb:282
+ # pkg:gem/activerecord#lib/active_record/base.rb:283
def __class_attr_param_delimiter=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_partial_inserts; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_partial_inserts=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_partial_updates; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_partial_updates=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_pluralize_table_names; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_pluralize_table_names=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_primary_key_prefix_type; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_primary_key_prefix_type=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def __class_attr_record_timestamps; end
- # pkg:gem/activerecord#lib/active_record/base.rb:315
+ # pkg:gem/activerecord#lib/active_record/base.rb:316
def __class_attr_record_timestamps=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_run_commit_callbacks_on_first_saved_instances_in_transaction; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_run_commit_callbacks_on_first_saved_instances_in_transaction=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_schema_migrations_table_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_schema_migrations_table_name=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_shard_selector; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_shard_selector=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def __class_attr_signed_id_verifier_secret; end
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def __class_attr_signed_id_verifier_secret=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_skip_time_zone_conversion_for_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_skip_time_zone_conversion_for_attributes=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def __class_attr_store_full_class_name; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def __class_attr_store_full_class_name=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def __class_attr_store_full_sti_class; end
- # pkg:gem/activerecord#lib/active_record/base.rb:302
+ # pkg:gem/activerecord#lib/active_record/base.rb:303
def __class_attr_store_full_sti_class=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_strict_loading_by_default; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_strict_loading_by_default=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_strict_loading_mode; end
- # pkg:gem/activerecord#lib/active_record/base.rb:298
+ # pkg:gem/activerecord#lib/active_record/base.rb:299
def __class_attr_strict_loading_mode=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_table_name_prefix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_table_name_prefix=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_table_name_suffix; end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def __class_attr_table_name_suffix=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_time_zone_aware_attributes; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_time_zone_aware_attributes=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_time_zone_aware_types; end
- # pkg:gem/activerecord#lib/active_record/base.rb:313
+ # pkg:gem/activerecord#lib/active_record/base.rb:314
def __class_attr_time_zone_aware_types=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def __class_attr_token_definitions; end
- # pkg:gem/activerecord#lib/active_record/base.rb:327
+ # pkg:gem/activerecord#lib/active_record/base.rb:328
def __class_attr_token_definitions=(new_value); end
- # pkg:gem/activerecord#lib/active_record/base.rb:301
+ # pkg:gem/activerecord#lib/active_record/base.rb:302
def _inheritance_column=(value); end
end
end
-# pkg:gem/activerecord#lib/active_record/base.rb:313
+# pkg:gem/activerecord#lib/active_record/base.rb:314
module ActiveRecord::Base::GeneratedAssociationMethods; end
-# pkg:gem/activerecord#lib/active_record/base.rb:313
+# pkg:gem/activerecord#lib/active_record/base.rb:314
module ActiveRecord::Base::GeneratedAttributeMethods; end
# = Active Record \Batches
@@ -11439,13 +11439,13 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# should be overridden by adapters to implement common features with
# non-standard syntax like handling duplicates or returning values.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:905
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:910
def build_insert_sql(insert); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:876
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:881
def case_insensitive_comparison(attribute, value); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:872
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:877
def case_sensitive_comparison(attribute, value); end
# Override to check all foreign key constraints in a database.
@@ -11455,23 +11455,23 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:690
def check_all_foreign_keys_valid!; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:920
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:925
def check_version; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:838
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:843
def clean!; end
# Clear any caching the database adapter may be doing.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:792
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:795
def clear_cache!(new_connection: T.unsafe(nil)); end
# Check the connection back in to the connection pool
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:892
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:897
def close; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:833
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:838
def connect!; end
# Checks whether the connection to the database was established. This doesn't
@@ -11514,18 +11514,18 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:407
def database_exists?; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:916
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:921
def database_version; end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:896
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:901
def default_index_type?(index); end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:237
def default_timezone; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:868
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:873
def default_uniqueness_comparison(attribute, value); end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38
@@ -11548,13 +11548,13 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# undefined. This is called internally just before a forked process gets
# rid of a connection that belonged to its parent.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:767
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:768
def discard!; end
# Disconnects from the database if already connected. Otherwise, this
# method does nothing.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:752
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:751
def disconnect!; end
# This is meant to be implemented by the adapters that support custom enum types
@@ -11608,7 +11608,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:660
def get_advisory_lock(lock_id); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:913
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:918
def get_database_version; end
# Returns the value of attribute owner.
@@ -11716,7 +11716,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# this client. If that is the case, generally you'll want to invalidate
# the query cache using +ActiveRecord::Base.clear_query_cache+.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:860
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:865
def raw_connection; end
# Disconnects from the database if already connected, and establishes a new
@@ -11753,7 +11753,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
#
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:805
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:808
def requires_reloading?; end
# Reset the state of this connection, directing the DBMS to clear
@@ -11765,7 +11765,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# should call super immediately after resetting the connection (and while
# still holding @lock).
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:779
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:780
def reset!; end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38
@@ -11807,7 +11807,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# numbered migration that has been executed, or 0 if no schema
# information is present / the database is empty.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:927
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:932
def schema_version; end
# Seconds since this connection was returned to the pool
@@ -12077,7 +12077,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# Removes the connection from the pool and disconnect it.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:786
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:789
def throw_away!; end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38
@@ -12099,14 +12099,14 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:846
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:851
def verified?; end
# Checks whether the connection to the database is still active (i.e. not stale).
# This is done under the hood by calling #active?. If the connection
# is no longer active, then this method will reconnect to the database.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:812
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:815
def verify!; end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:225
@@ -12123,16 +12123,16 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# to both be thread-safe and not rely upon actual server communication.
# This is useful for e.g. string escaping methods.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1155
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1160
def any_raw_connection; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1258
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1263
def arel_visitor; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1284
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1289
def attempt_configure_connection; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1144
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1149
def backoff(counter); end
# Builds the result object.
@@ -12140,24 +12140,24 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# This is an internal hook to make possible connection adapters to build
# custom result objects with connection-specific data.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1269
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1274
def build_result(columns:, rows:, column_types: T.unsafe(nil)); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1262
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1267
def build_statement_pool; end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:886
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:891
def can_perform_case_insensitive_comparison_for?(column); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1244
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1249
def collector; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1233
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1238
def column_for(table_name, column_name); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1239
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1244
def column_for_attribute(attribute); end
# Perform any necessary initialization upon the newly-established
@@ -12167,51 +12167,51 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# Implementations may assume this method will only be called while
# holding @lock (or from #initialize).
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1280
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1285
def configure_connection; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1291
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1296
def default_prepared_statements; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1172
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1177
def extended_type_map_key; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1219
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1224
def instrumenter; end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1130
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1135
def invalidate_transaction(exception); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1200
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1205
def log(sql, name = T.unsafe(nil), binds = T.unsafe(nil), type_casted_binds = T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil), &block); end
# @raise [NotImplementedError]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1148
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1153
def reconnect; end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1012
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1017
def reconnect_can_restore_state?; end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1125
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1130
def retryable_connection_error?(exception); end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1137
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1142
def retryable_query_error?(exception); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1223
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1228
def translate_exception(exception, message:, sql:, binds:); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1188
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1193
def translate_exception_class(native_error, sql, binds); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1178
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1183
def type_map; end
# Similar to any_raw_connection, but ensures it is validated and
@@ -12220,19 +12220,19 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# server... but some drivers fail if they know the connection has gone
# away.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1164
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1169
def valid_raw_connection; end
# Mark the connection as verified. Call this inside a
# `with_raw_connection` block only when the block is guaranteed to
# exercise the raw connection.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1120
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1125
def verified!; end
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1295
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1300
def warning_ignored?(warning); end
# Lock the monitor, ensure we're properly connected and
@@ -12268,7 +12268,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# still-yielded connection in the outer block), but we currently
# provide no special enforcement there.
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1049
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1054
def with_raw_connection(allow_retry: T.unsafe(nil), materialize_transactions: T.unsafe(nil)); end
class << self
@@ -12307,13 +12307,13 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:128
def dbconsole(config, options = T.unsafe(nil)); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:939
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:944
def extended_type_map(default_timezone:); end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:99
def find_cmd_and_exec(commands, *args); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:932
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:937
def register_class_with_precision(mapping, key, klass, **kwargs); end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:72
@@ -12324,7 +12324,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# @return [Boolean]
#
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:947
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:952
def valid_type?(type); end
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:80
@@ -12338,19 +12338,19 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33
def __class_attr___callbacks=(new_value); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1003
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1008
def extract_limit(sql_type); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:999
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1004
def extract_precision(sql_type); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:992
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:997
def extract_scale(sql_type); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:952
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:957
def initialize_type_map(m); end
- # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:985
+ # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:990
def register_class_with_limit(mapping, key, klass); end
end
end
@@ -12364,7 +12364,7 @@ ActiveRecord::ConnectionAdapters::AbstractAdapter::COMMENT_REGEX = T.let(T.unsaf
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:90
ActiveRecord::ConnectionAdapters::AbstractAdapter::DEFAULT_READ_QUERY = T.let(T.unsafe(nil), Array)
-# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1009
+# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1014
ActiveRecord::ConnectionAdapters::AbstractAdapter::EXTENDED_TYPE_MAPS = T.let(T.unsafe(nil), Concurrent::Map)
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:212
@@ -12373,7 +12373,7 @@ ActiveRecord::ConnectionAdapters::AbstractAdapter::MAX_JITTER = T.let(T.unsafe(n
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:41
ActiveRecord::ConnectionAdapters::AbstractAdapter::SIMPLE_INT = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1008
+# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1013
ActiveRecord::ConnectionAdapters::AbstractAdapter::TYPE_MAP = T.let(T.unsafe(nil), ActiveRecord::Type::TypeMap)
# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:261
@@ -33353,7 +33353,7 @@ class ActiveRecord::Relation
#
# Post.where(person_id: 5).where(category: ['Something', 'Else']).delete_all
#
- # Both calls delete the affected posts all at once with a single DELETE statement.
+ # This call deletes the affected posts all at once with a single DELETE statement.
# If you need to destroy dependent associations or call your before_* or
# +after_destroy+ callbacks, use the #destroy_all method instead.
#
@@ -34799,13 +34799,13 @@ module ActiveRecord::RuntimeRegistry
# pkg:gem/activerecord#lib/active_record/runtime_registry.rb:32
def call(name, start, finish, id, payload); end
- # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:41
+ # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:42
def record(query_name, runtime, cached: T.unsafe(nil), async: T.unsafe(nil), lock_wait: T.unsafe(nil)); end
- # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:59
+ # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:60
def reset; end
- # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:55
+ # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:56
def stats; end
end
@@ -36161,9 +36161,9 @@ module ActiveRecord::SignedId::ClassMethods
def signed_id_verifier=(verifier); end
end
-# pkg:gem/activerecord#lib/active_record/base.rb:328
+# pkg:gem/activerecord#lib/active_record/base.rb:329
module ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret
- # pkg:gem/activerecord#lib/active_record/base.rb:328
+ # pkg:gem/activerecord#lib/active_record/base.rb:329
def signed_id_verifier_secret=(secret); end
end
@@ -36644,6 +36644,29 @@ end
# pkg:gem/activerecord#lib/active_record/errors.rb:411
class ActiveRecord::StrictLoadingViolationError < ::ActiveRecord::ActiveRecordError; end
+# pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:6
+class ActiveRecord::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber
+ # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:21
+ def sql(event); end
+
+ # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:9
+ def strict_loading_violation(event); end
+
+ private
+
+ # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:79
+ def filter(name, value); end
+
+ # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:64
+ def render_bind(attr, value); end
+
+ # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:60
+ def type_casted_binds(casted_binds); end
+end
+
+# pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:7
+ActiveRecord::StructuredEventSubscriber::IGNORE_PAYLOAD_NAMES = T.let(T.unsafe(nil), Array)
+
# Raised when the single-table inheritance mechanism fails to locate the subclass
# (for example due to improper usage of column that
# {ActiveRecord::Base.inheritance_column}[rdoc-ref:ModelSchema.inheritance_column]
diff --git a/sorbet/rbi/gems/activestorage@8.1.1.rbi b/sorbet/rbi/gems/activestorage@8.1.2.rbi
similarity index 98%
rename from sorbet/rbi/gems/activestorage@8.1.1.rbi
rename to sorbet/rbi/gems/activestorage@8.1.2.rbi
index 615a29be5..8715bca30 100644
--- a/sorbet/rbi/gems/activestorage@8.1.1.rbi
+++ b/sorbet/rbi/gems/activestorage@8.1.2.rbi
@@ -1072,12 +1072,18 @@ class ActiveStorage::Blobs::ProxyController < ::ActiveStorage::BaseController
def _layout(lookup_context, formats, keys); end
class << self
+ def live_streaming_excluded_keys; end
+ def live_streaming_excluded_keys=(value); end
+ def live_streaming_excluded_keys?; end
+
private
def __class_attr___callbacks; end
def __class_attr___callbacks=(new_value); end
def __class_attr_config; end
def __class_attr_config=(new_value); end
+ def __class_attr_live_streaming_excluded_keys; end
+ def __class_attr_live_streaming_excluded_keys=(new_value); end
def __class_attr_middleware_stack; end
def __class_attr_middleware_stack=(new_value); end
end
@@ -1734,12 +1740,18 @@ class ActiveStorage::Representations::ProxyController < ::ActiveStorage::Represe
def _layout(lookup_context, formats, keys); end
class << self
+ def live_streaming_excluded_keys; end
+ def live_streaming_excluded_keys=(value); end
+ def live_streaming_excluded_keys?; end
+
private
def __class_attr___callbacks; end
def __class_attr___callbacks=(new_value); end
def __class_attr_config; end
def __class_attr_config=(new_value); end
+ def __class_attr_live_streaming_excluded_keys; end
+ def __class_attr_live_streaming_excluded_keys=(new_value); end
def __class_attr_middleware_stack; end
def __class_attr_middleware_stack=(new_value); end
end
@@ -2016,10 +2028,12 @@ end
module ActiveStorage::Streaming
extend ::ActiveSupport::Concern
+ include GeneratedInstanceMethods
include ::ActionController::Rendering
include ::ActionController::DataStreaming
include ::ActionController::Live
+ mixes_in_class_methods GeneratedClassMethods
mixes_in_class_methods ::ActionController::Rendering::ClassMethods
mixes_in_class_methods ::ActionController::Live::ClassMethods
@@ -2027,6 +2041,14 @@ module ActiveStorage::Streaming
def send_blob_byte_range_data(blob, range_header, disposition: T.unsafe(nil)); end
def send_blob_stream(blob, disposition: T.unsafe(nil)); end
+
+ module GeneratedClassMethods
+ def live_streaming_excluded_keys; end
+ def live_streaming_excluded_keys=(value); end
+ def live_streaming_excluded_keys?; end
+ end
+
+ module GeneratedInstanceMethods; end
end
ActiveStorage::Streaming::DEFAULT_BLOB_STREAMING_DISPOSITION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/activesupport@8.1.1.rbi b/sorbet/rbi/gems/activesupport@8.1.2.rbi
similarity index 99%
rename from sorbet/rbi/gems/activesupport@8.1.1.rbi
rename to sorbet/rbi/gems/activesupport@8.1.2.rbi
index 708e4fd69..eadf8fc55 100644
--- a/sorbet/rbi/gems/activesupport@8.1.1.rbi
+++ b/sorbet/rbi/gems/activesupport@8.1.2.rbi
@@ -1201,19 +1201,21 @@ ActiveSupport::Cache::FileStore::GITKEEP_FILES = T.let(T.unsafe(nil), Array)
#
# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:28
class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store
+ include ::ActiveSupport::Cache::Strategy::LocalCache
+
# @return [MemoryStore] a new instance of MemoryStore
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:73
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:75
def initialize(options = T.unsafe(nil)); end
# Preemptively iterates through all stored keys and removes the ones which have expired.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:101
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:103
def cleanup(options = T.unsafe(nil)); end
# Delete all data stored in a given cache store.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:93
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:95
def clear(options = T.unsafe(nil)); end
# Decrement a cached integer value. Returns the updated value.
@@ -1227,12 +1229,12 @@ class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store
# cache.write("baz", 5)
# cache.decrement("baz") # => 4
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:166
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:168
def decrement(name, amount = T.unsafe(nil), **options); end
# Deletes cache entries if the cache key matches a given pattern.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:173
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:175
def delete_matched(matcher, options = T.unsafe(nil)); end
# Increment a cached integer value. Returns the updated value.
@@ -1247,49 +1249,49 @@ class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store
# cache.write("baz", 5)
# cache.increment("baz") # => 6
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:149
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:151
def increment(name, amount = T.unsafe(nil), **options); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:185
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:187
def inspect; end
# To ensure entries fit within the specified memory prune the cache by removing the least
# recently accessed entries.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:114
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:116
def prune(target_size, max_time = T.unsafe(nil)); end
# Returns true if the cache is currently being pruned.
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:133
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:135
def pruning?; end
# Synchronize calls to the cache. This should be called wherever the underlying cache implementation
# is not thread safe.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:191
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:193
def synchronize(&block); end
private
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:198
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:200
def cached_size(key, payload); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:231
- def delete_entry(key, **options); end
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:233
+ def delete_entry(key, **_arg1); end
# Modifies the amount of an integer value that is stored in the cache.
# If the key is not found it is created and set to +amount+.
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:241
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:243
def modify_value(name, amount, **options); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:202
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:204
def read_entry(key, **options); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:214
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:216
def write_entry(key, entry, **options); end
class << self
@@ -1297,37 +1299,37 @@ class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:88
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:90
def supports_cache_versioning?; end
end
end
-# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:29
+# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:31
module ActiveSupport::Cache::MemoryStore::DupCoder
extend ::ActiveSupport::Cache::MemoryStore::DupCoder
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:32
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:34
def dump(entry); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:40
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:42
def dump_compressed(entry, threshold); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:45
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:47
def load(entry); end
private
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:56
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:58
def dump_value(value); end
- # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:64
+ # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:66
def load_value(string); end
end
-# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:54
+# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:56
ActiveSupport::Cache::MemoryStore::DupCoder::MARSHAL_SIGNATURE = T.let(T.unsafe(nil), String)
-# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:196
+# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:198
ActiveSupport::Cache::MemoryStore::PER_ENTRY_OVERHEAD = T.let(T.unsafe(nil), Integer)
# = Null \Cache \Store
@@ -8129,7 +8131,7 @@ module ActiveSupport::Inflector
# inflect.uncountable 'rails'
# end
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:281
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:282
def inflections(locale = T.unsafe(nil)); end
# Returns the suffix that should be added to a number to denote the position
@@ -8409,7 +8411,7 @@ ActiveSupport::Inflector::ALLOWED_ENCODINGS_FOR_TRANSLITERATE = T.let(T.unsafe(n
class ActiveSupport::Inflector::Inflections
# @return [Inflections] a new instance of Inflections
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:96
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:97
def initialize; end
# Specifies a new acronym. An acronym must be specified as it will appear
@@ -8462,18 +8464,18 @@ class ActiveSupport::Inflector::Inflections
# underscore 'McDonald' # => 'mcdonald'
# camelize 'mcdonald' # => 'McDonald'
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:158
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:159
def acronym(word); end
# Returns the value of attribute acronyms.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:92
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93
def acronyms; end
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:94
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:95
def acronyms_camelize_regex; end
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:94
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:95
def acronyms_underscore_regex; end
# Clears the loaded inflections within a given scope (default is
@@ -8484,7 +8486,7 @@ class ActiveSupport::Inflector::Inflections
# clear :all
# clear :plurals
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:247
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:248
def clear(scope = T.unsafe(nil)); end
# Specifies a humanized form of a string by a regular expression rule or
@@ -8496,12 +8498,12 @@ class ActiveSupport::Inflector::Inflections
# human /_cnt$/i, '\1_count'
# human 'legacy_col_person_name', 'Name'
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:236
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:237
def human(rule, replacement); end
# Returns the value of attribute humans.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:92
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93
def humans; end
# Specifies a new irregular that applies to both pluralization and
@@ -8512,7 +8514,7 @@ class ActiveSupport::Inflector::Inflections
# irregular 'cactus', 'cacti'
# irregular 'person', 'people'
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:190
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:191
def irregular(singular, plural); end
# Specifies a new pluralization rule and its replacement. The rule can
@@ -8520,12 +8522,12 @@ class ActiveSupport::Inflector::Inflections
# always be a string that may include references to the matched data from
# the rule.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:167
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:168
def plural(rule, replacement); end
# Returns the value of attribute plurals.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:92
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93
def plurals; end
# Specifies a new singularization rule and its replacement. The rule can
@@ -8533,12 +8535,12 @@ class ActiveSupport::Inflector::Inflections
# always be a string that may include references to the matched data from
# the rule.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:177
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:178
def singular(rule, replacement); end
# Returns the value of attribute singulars.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:92
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93
def singulars; end
# Specifies words that are uncountable and should not be inflected.
@@ -8547,22 +8549,22 @@ class ActiveSupport::Inflector::Inflections
# uncountable 'money', 'information'
# uncountable %w( money information rice )
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:224
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:225
def uncountable(*words); end
# Returns the value of attribute uncountables.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:92
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93
def uncountables; end
private
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:266
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:267
def define_acronym_regex_patterns; end
# Private, for the test suite.
#
- # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:102
+ # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:103
def initialize_dup(orig); end
class << self
@@ -8723,7 +8725,7 @@ module ActiveSupport::IsolatedExecutionState
def scope; end
# pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:58
- def share_with(other, &block); end
+ def share_with(other, except: T.unsafe(nil), &block); end
end
end
@@ -13607,17 +13609,20 @@ class ActiveSupport::SyntaxErrorProxy
# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:11
def backtrace; end
- # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:37
+ # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:41
def backtrace_locations; end
private
- # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:50
+ # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:54
def parse_message_for_trace; end
end
# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:15
class ActiveSupport::SyntaxErrorProxy::BacktraceLocation < ::Struct
+ # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:25
+ def absolute_path; end
+
# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:22
def base_label; end
@@ -13628,14 +13633,14 @@ class ActiveSupport::SyntaxErrorProxy::BacktraceLocation < ::Struct
def spot(_); end
end
-# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:26
+# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:30
class ActiveSupport::SyntaxErrorProxy::BacktraceLocationProxy
# @return [BacktraceLocationProxy] a new instance of BacktraceLocationProxy
#
- # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:27
+ # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:31
def initialize(loc, ex); end
- # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:32
+ # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:36
def spot(_); end
end
@@ -13806,109 +13811,109 @@ class ActiveSupport::TestCase < ::Minitest::Test
extend ::ActiveSupport::Testing::SetupAndTeardown::ClassMethods
extend ::ActiveSupport::Testing::Declarative
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def __callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _run_setup_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _run_setup_callbacks!(&block); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _run_teardown_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _run_teardown_callbacks!(&block); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _setup_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _teardown_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:296
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:302
def assert_no_match(matcher, obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:219
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:225
def assert_not_empty(obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:230
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:236
def assert_not_equal(exp, act, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:241
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:247
def assert_not_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:252
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:258
def assert_not_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:263
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:269
def assert_not_includes(collection, obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:274
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:280
def assert_not_instance_of(cls, obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:285
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:291
def assert_not_kind_of(cls, obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:307
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:313
def assert_not_nil(obj, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:318
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:324
def assert_not_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:329
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:335
def assert_not_predicate(o1, op, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:340
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:346
def assert_not_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:351
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:357
def assert_not_same(exp, act, msg = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def file_fixture_path; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def file_fixture_path?; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:355
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:361
def inspect; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:190
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:196
def method_name; end
# Returns the current parallel worker ID if tests are running in parallel
#
- # pkg:gem/activesupport#lib/active_support/test_case.rb:193
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:199
def parallel_worker_id; end
class << self
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def __callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def __callbacks=(value); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _setup_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _setup_callbacks=(value); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _teardown_callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def _teardown_callbacks=(value); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def file_fixture_path; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def file_fixture_path=(value); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def file_fixture_path?; end
# Returns the current parallel worker ID if tests are running in parallel,
@@ -13965,7 +13970,7 @@ class ActiveSupport::TestCase < ::Minitest::Test
# Note that your test suite may deadlock if you attempt to use only one database
# with multiple processes.
#
- # pkg:gem/activesupport#lib/active_support/test_case.rb:107
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:113
def parallelize(workers: T.unsafe(nil), with: T.unsafe(nil), threshold: T.unsafe(nil), parallelize_databases: T.unsafe(nil)); end
# Before fork hook for parallel testing. This can be used to run anything
@@ -13979,7 +13984,7 @@ class ActiveSupport::TestCase < ::Minitest::Test
# end
# end
#
- # pkg:gem/activesupport#lib/active_support/test_case.rb:132
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:138
def parallelize_before_fork(&block); end
# Setup hook for parallel testing. This can be used if you have multiple
@@ -13996,7 +14001,7 @@ class ActiveSupport::TestCase < ::Minitest::Test
# end
# end
#
- # pkg:gem/activesupport#lib/active_support/test_case.rb:149
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:155
def parallelize_setup(&block); end
# Clean up hook for parallel testing. This can be used to drop databases
@@ -14013,7 +14018,7 @@ class ActiveSupport::TestCase < ::Minitest::Test
# end
# end
#
- # pkg:gem/activesupport#lib/active_support/test_case.rb:166
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:172
def parallelize_teardown(&block); end
# Returns the order in which test cases are run.
@@ -14041,16 +14046,16 @@ class ActiveSupport::TestCase < ::Minitest::Test
private
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def __class_attr___callbacks; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:198
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:204
def __class_attr___callbacks=(new_value); end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def __class_attr_file_fixture_path; end
- # pkg:gem/activesupport#lib/active_support/test_case.rb:207
+ # pkg:gem/activesupport#lib/active_support/test_case.rb:213
def __class_attr_file_fixture_path=(new_value); end
end
end
@@ -14110,7 +14115,7 @@ module ActiveSupport::Testing::Assertions
# post :create, params: { status: { incident: true } }
# end
#
- # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:211
+ # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:212
def assert_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), to: T.unsafe(nil), &block); end
# Test numeric difference between the return value of an expression as a
@@ -14200,7 +14205,7 @@ module ActiveSupport::Testing::Assertions
# post :create, params: { status: { ok: false } }
# end
#
- # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:280
+ # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:281
def assert_no_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), &block); end
# Assertion that the numeric result of evaluating an expression is not
@@ -14228,7 +14233,7 @@ module ActiveSupport::Testing::Assertions
# post :create, params: { article: invalid_attributes }
# end
#
- # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:161
+ # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:162
def assert_no_difference(expression, message = T.unsafe(nil), &block); end
# Asserts that an expression is not truthy. Passes if +object+ is +nil+ or
@@ -14281,10 +14286,10 @@ module ActiveSupport::Testing::Assertions
private
- # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:314
+ # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:316
def _assert_nothing_raised_or_warn(assertion, &block); end
- # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:329
+ # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:331
def _callable_to_source_string(callable); end
end
@@ -15008,16 +15013,16 @@ class ActiveSupport::Testing::Parallelization::Worker
# pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:7
def initialize(number, url); end
- # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:80
+ # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:82
def after_fork; end
# pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:42
def perform_job(job); end
- # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:88
+ # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:90
def run_cleanup; end
- # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:56
+ # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:58
def safe_record(reporter, result); end
# pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:14
@@ -15028,10 +15033,10 @@ class ActiveSupport::Testing::Parallelization::Worker
private
- # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:95
+ # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:97
def add_setup_exception(result); end
- # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:99
+ # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:101
def set_process_title(status); end
end
@@ -15522,7 +15527,7 @@ class ActiveSupport::TimeWithZone
# now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00
# now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:310
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:314
def +(other); end
# Subtracts an interval of time and returns a new TimeWithZone object unless
@@ -15548,19 +15553,19 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now - 1.day.ago # => 86399.999967
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:345
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:349
def -(other); end
# Use the time in UTC for comparisons.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:243
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:247
def <=>(other); end
# So that +self+ acts_like?(:time).
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:502
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:506
def acts_like_time?; end
# Uses Date to provide precise Time calculations for years, months, and days
@@ -15585,10 +15590,10 @@ class ActiveSupport::TimeWithZone
# now.advance(months: 1) # => Tue, 02 Dec 2014 01:26:28.558049687 EST -05:00
# now.advance(years: 1) # => Mon, 02 Nov 2015 01:26:28.558049687 EST -05:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:434
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:438
def advance(options); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:247
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:251
def after?(_arg0); end
# Subtracts an interval of time from the current object's time and returns
@@ -15609,7 +15614,7 @@ class ActiveSupport::TimeWithZone
# now.ago(24.hours) # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00
# now.ago(1.day) # => Sun, 02 Nov 2014 00:26:28.725182881 EDT -04:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:373
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:377
def ago(other); end
# Coerces time to a string for JSON encoding. The default format is ISO 8601.
@@ -15625,10 +15630,10 @@ class ActiveSupport::TimeWithZone
# Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").as_json
# # => "2005/02/01 05:15:10 -1000"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:178
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:182
def as_json(options = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:246
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:250
def before?(_arg0); end
# Returns true if the current object's time is within the specified
@@ -15636,14 +15641,14 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:251
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:255
def between?(min, max); end
# An instance of ActiveSupport::TimeWithZone is never blank
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:513
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:517
def blank?; end
# Returns a new +ActiveSupport::TimeWithZone+ where one or more of the elements have
@@ -15664,7 +15669,7 @@ class ActiveSupport::TimeWithZone
# t.change(offset: "-10:00") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00
# t.change(zone: "Hawaii") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:394
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:398
def change(options); end
# Returns a Time instance of the simultaneous time in the UTC timezone.
@@ -15672,7 +15677,7 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:72
def comparable_time; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def day; end
# Returns true if the current time is within Daylight Savings \Time for the
@@ -15687,14 +15692,14 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:100
def dst?; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:190
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:194
def encode_with(coder); end
# Returns +true+ if +other+ is equal to current object.
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:286
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:290
def eql?(other); end
# Returns a formatted string of the offset from UTC, or an alternative
@@ -15709,14 +15714,14 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:131
def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:521
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:525
def freeze; end
# Returns true if the current object's time is in the future.
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:281
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:285
def future?; end
# Returns a Time instance of the simultaneous time in the UTC timezone.
@@ -15761,10 +15766,10 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:121
def gmtoff; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:290
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:294
def hash; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def hour; end
# Returns a string of the object's date and time in the format used by
@@ -15772,7 +15777,7 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.httpdate # => "Tue, 01 Jan 2013 04:39:43 GMT"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:198
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:202
def httpdate; end
# Adds an interval of time to the current object's time and returns that
@@ -15792,7 +15797,7 @@ class ActiveSupport::TimeWithZone
# now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00
# now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:320
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:324
def in(other); end
# Returns the simultaneous time in Time.zone, or the specified zone.
@@ -15800,7 +15805,7 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:83
def in_time_zone(new_zone = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:186
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:190
def init_with(coder); end
# Returns a string of the object's date, time, zone, and offset from UTC.
@@ -15814,7 +15819,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:507
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:511
def is_a?(klass); end
# Returns true if the current time is within Daylight Savings \Time for the
@@ -15834,14 +15839,14 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:163
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:167
def iso8601(fraction_digits = T.unsafe(nil)); end
# Say we're a Time to thwart type checking.
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:510
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:514
def kind_of?(klass); end
# Returns a Time instance of the simultaneous time in the system timezone.
@@ -15849,28 +15854,28 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:89
def localtime(utc_offset = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:527
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:531
def marshal_dump; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:531
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:535
def marshal_load(variables); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def mday; end
# Send the missing method to +time+ instance, and wrap result in a new
# TimeWithZone with the existing +time_zone+.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:551
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:555
def method_missing(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def min; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def mon; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def month; end
# Returns true if the current object's time falls within
@@ -15878,17 +15883,17 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:271
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:275
def next_day?; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def nsec; end
# Returns true if the current object's time is in the past.
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:256
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:260
def past?; end
# Returns the underlying +TZInfo::TimezonePeriod+.
@@ -15898,7 +15903,7 @@ class ActiveSupport::TimeWithZone
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:517
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:521
def present?; end
# Returns true if the current object's time falls within
@@ -15906,7 +15911,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:278
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:282
def prev_day?; end
# respond_to_missing? is not called in some cases, such as when type conversion is
@@ -15914,7 +15919,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:537
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:541
def respond_to?(sym, include_priv = T.unsafe(nil)); end
# Returns a string of the object's date and time in the RFC 2822 standard
@@ -15922,7 +15927,7 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:206
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:210
def rfc2822; end
# Returns a string of the object's date and time in the ISO 8601 standard
@@ -15930,7 +15935,7 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:164
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:168
def rfc3339(fraction_digits = T.unsafe(nil)); end
# Returns a string of the object's date and time in the RFC 2822 standard
@@ -15938,10 +15943,10 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000"
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:209
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:213
def rfc822; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def sec; end
# Adds an interval of time to the current object's time and returns that
@@ -15961,13 +15966,13 @@ class ActiveSupport::TimeWithZone
# now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00
# now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:319
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:323
def since(other); end
# Replaces %Z directive with +zone before passing to Time#strftime,
# so that zone information is correct.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:237
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:241
def strftime(format); end
# Returns a Time instance that represents the time in +time_zone+.
@@ -15986,10 +15991,10 @@ class ActiveSupport::TimeWithZone
# now = Time.zone.now # => Tue, 18 Aug 2015 02:29:27.485278555 UTC +00:00
# now.to_a # => [27, 29, 2, 18, 8, 2015, 2, 230, false, "UTC"]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:457
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:461
def to_a; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def to_date; end
# Returns an instance of DateTime with the timezone's UTC offset
@@ -15997,7 +16002,7 @@ class ActiveSupport::TimeWithZone
# Time.zone.now.to_datetime # => Tue, 18 Aug 2015 02:32:20 +0000
# Time.current.in_time_zone('Hawaii').to_datetime # => Mon, 17 Aug 2015 16:32:20 -1000
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:490
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:494
def to_datetime; end
# Returns the object's date and time as a floating-point number of seconds
@@ -16005,7 +16010,7 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.to_f # => 1417709320.285418
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:465
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:469
def to_f; end
# Returns a string of the object's date and time.
@@ -16017,7 +16022,7 @@ class ActiveSupport::TimeWithZone
# * :db - format outputs time in UTC :db time. See Time#to_fs(:db).
# * Any key in +Time::DATE_FORMATS+ can be used. See active_support/core_ext/time/conversions.rb.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:233
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:237
def to_formatted_s(format = T.unsafe(nil)); end
# Returns a string of the object's date and time.
@@ -16029,7 +16034,7 @@ class ActiveSupport::TimeWithZone
# * :db - format outputs time in UTC :db time. See Time#to_fs(:db).
# * Any key in +Time::DATE_FORMATS+ can be used. See active_support/core_ext/time/conversions.rb.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:224
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:228
def to_fs(format = T.unsafe(nil)); end
# Returns the object's date and time as an integer number of seconds
@@ -16037,7 +16042,7 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.to_i # => 1417709320
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:473
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:477
def to_i; end
# Returns the object's date and time as a rational number of seconds
@@ -16045,19 +16050,19 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.to_r # => (708854548642709/500000)
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:482
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:486
def to_r; end
# Returns a string of the object's date and time.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:212
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:216
def to_s; end
# Returns an instance of +Time+, either with the same timezone as +self+,
# with the same UTC offset as +self+ or in the local system timezone
# depending on the setting of +ActiveSupport.to_time_preserves_timezone+.
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:497
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:501
def to_time; end
# Returns true if the current object's time falls within
@@ -16065,7 +16070,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:262
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:266
def today?; end
# Returns true if the current object's time falls within
@@ -16073,7 +16078,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:268
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:272
def tomorrow?; end
# Returns the object's date and time as an integer number of seconds
@@ -16081,10 +16086,10 @@ class ActiveSupport::TimeWithZone
#
# Time.zone.now.to_i # => 1417709320
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:476
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:480
def tv_sec; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def usec; end
# Returns a Time instance of the simultaneous time in the UTC timezone.
@@ -16109,7 +16114,7 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:117
def utc_offset; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def wday; end
# Returns a string of the object's date and time in the ISO 8601 standard
@@ -16120,10 +16125,10 @@ class ActiveSupport::TimeWithZone
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:154
def xmlschema(fraction_digits = T.unsafe(nil)); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def yday; end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:445
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449
def year; end
# Returns true if the current object's time falls within
@@ -16131,7 +16136,7 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:275
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:279
def yesterday?; end
# Returns the time zone abbreviation.
@@ -16146,13 +16151,13 @@ class ActiveSupport::TimeWithZone
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:589
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:593
def duration_of_variable_length?(obj); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:570
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:574
def get_period_and_ensure_valid_local_time(period); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:560
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:564
def incorporate_utc_offset(time, offset); end
# Ensure proxy class responds to all methods that underlying time instance
@@ -16160,20 +16165,20 @@ class ActiveSupport::TimeWithZone
#
# @return [Boolean]
#
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:545
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:549
def respond_to_missing?(sym, include_priv); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:583
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:587
def transfer_time_values_to_utc_constructor(time); end
- # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:593
+ # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:597
def wrap_with_time_zone(time); end
end
# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:45
ActiveSupport::TimeWithZone::PRECISIONS = T.let(T.unsafe(nil), Hash)
-# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:558
+# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:562
ActiveSupport::TimeWithZone::SECONDS_PER_DAY = T.let(T.unsafe(nil), Integer)
# = Active Support \Time Zone
@@ -19816,8 +19821,6 @@ class Integer < ::Numeric
def years; end
end
-Integer::GMP_VERSION = T.let(T.unsafe(nil), String)
-
# pkg:gem/activesupport#lib/active_support/core_ext/kernel/reporting.rb:3
module Kernel
# class_eval on an object acts like +singleton_class.class_eval+.
diff --git a/sorbet/rbi/gems/globalid@1.2.1.rbi b/sorbet/rbi/gems/globalid@1.3.0.rbi
similarity index 86%
rename from sorbet/rbi/gems/globalid@1.2.1.rbi
rename to sorbet/rbi/gems/globalid@1.3.0.rbi
index b4d3a7981..3ddb4bbf0 100644
--- a/sorbet/rbi/gems/globalid@1.2.1.rbi
+++ b/sorbet/rbi/gems/globalid@1.3.0.rbi
@@ -11,51 +11,51 @@ class GlobalID
# @return [GlobalID] a new instance of GlobalID
#
- # pkg:gem/globalid#lib/global_id/global_id.rb:44
+ # pkg:gem/globalid#lib/global_id/global_id.rb:48
def initialize(gid, options = T.unsafe(nil)); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:63
+ # pkg:gem/globalid#lib/global_id/global_id.rb:67
def ==(other); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def app(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:76
+ # pkg:gem/globalid#lib/global_id/global_id.rb:80
def as_json(*_arg0); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def deconstruct_keys(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:66
+ # pkg:gem/globalid#lib/global_id/global_id.rb:70
def eql?(other); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:48
+ # pkg:gem/globalid#lib/global_id/global_id.rb:52
def find(options = T.unsafe(nil)); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:68
+ # pkg:gem/globalid#lib/global_id/global_id.rb:72
def hash; end
- # pkg:gem/globalid#lib/global_id/global_id.rb:52
+ # pkg:gem/globalid#lib/global_id/global_id.rb:56
def model_class; end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def model_id(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def model_name(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def params(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/globalid#lib/global_id/global_id.rb:72
+ # pkg:gem/globalid#lib/global_id/global_id.rb:76
def to_param; end
- # pkg:gem/globalid#lib/global_id/global_id.rb:42
+ # pkg:gem/globalid#lib/global_id/global_id.rb:46
def to_s(*_arg0, **_arg1, &_arg2); end
# Returns the value of attribute uri.
#
- # pkg:gem/globalid#lib/global_id/global_id.rb:41
+ # pkg:gem/globalid#lib/global_id/global_id.rb:45
def uri; end
class << self
@@ -70,6 +70,9 @@ class GlobalID
# pkg:gem/globalid#lib/global_id/global_id.rb:11
def create(model, options = T.unsafe(nil)); end
+ # pkg:gem/globalid#lib/global_id/global_id.rb:35
+ def default_locator(default_locator); end
+
# pkg:gem/globalid#lib/global_id.rb:20
def deprecator; end
@@ -84,7 +87,7 @@ class GlobalID
private
- # pkg:gem/globalid#lib/global_id/global_id.rb:36
+ # pkg:gem/globalid#lib/global_id/global_id.rb:40
def parse_encoded_gid(gid, options); end
end
end
@@ -122,8 +125,8 @@ module GlobalID::Identification
#
# model = Person.new id: 1
# global_id = model.to_global_id
- # global_id.modal_class # => Person
- # global_id.modal_id # => "1"
+ # global_id.model_class # => Person
+ # global_id.model_id # => "1"
# global_id.to_param # => "Z2lkOi8vYm9yZGZvbGlvL1BlcnNvbi8x"
#
# pkg:gem/globalid#lib/global_id/identification.rb:40
@@ -141,8 +144,8 @@ module GlobalID::Identification
#
# model = Person.new id: 1
# global_id = model.to_global_id
- # global_id.modal_class # => Person
- # global_id.modal_id # => "1"
+ # global_id.model_class # => Person
+ # global_id.model_id # => "1"
# global_id.to_param # => "Z2lkOi8vYm9yZGZvbGlvL1BlcnNvbi8x"
#
# pkg:gem/globalid#lib/global_id/identification.rb:37
@@ -153,8 +156,8 @@ module GlobalID::Identification
#
# model = Person.new id: 1
# signed_global_id = model.to_signed_global_id
- # signed_global_id.modal_class # => Person
- # signed_global_id.modal_id # => "1"
+ # signed_global_id.model_class # => Person
+ # signed_global_id.model_id # => "1"
# signed_global_id.to_param # => "BAh7CEkiCGdpZAY6BkVUSSIiZ2..."
#
# ==== Expiration
@@ -222,8 +225,8 @@ module GlobalID::Identification
#
# model = Person.new id: 1
# signed_global_id = model.to_signed_global_id
- # signed_global_id.modal_class # => Person
- # signed_global_id.modal_id # => "1"
+ # signed_global_id.model_class # => Person
+ # signed_global_id.model_id # => "1"
# signed_global_id.to_param # => "BAh7CEkiCGdpZAY6BkVUSSIiZ2..."
#
# ==== Expiration
@@ -282,6 +285,16 @@ end
# pkg:gem/globalid#lib/global_id/locator.rb:4
module GlobalID::Locator
class << self
+ # The default locator used when no app-specific locator is found.
+ #
+ # pkg:gem/globalid#lib/global_id/locator.rb:9
+ def default_locator; end
+
+ # The default locator used when no app-specific locator is found.
+ #
+ # pkg:gem/globalid#lib/global_id/locator.rb:9
+ def default_locator=(_arg0); end
+
# Takes either a GlobalID or a string that can be turned into a GlobalID
#
# Options:
@@ -295,7 +308,7 @@ module GlobalID::Locator
# instances of returned classes to those including that module. If no classes or
# modules match, +nil+ is returned.
#
- # pkg:gem/globalid#lib/global_id/locator.rb:20
+ # pkg:gem/globalid#lib/global_id/locator.rb:23
def locate(gid, options = T.unsafe(nil)); end
# Takes an array of GlobalIDs or strings that can be turned into a GlobalIDs.
@@ -324,7 +337,7 @@ module GlobalID::Locator
# #find will raise an exception if a named ID can't be found. When you set this option to true,
# we will use #where(id: ids) instead, which does not raise on missing records.
#
- # pkg:gem/globalid#lib/global_id/locator.rb:60
+ # pkg:gem/globalid#lib/global_id/locator.rb:63
def locate_many(gids, options = T.unsafe(nil)); end
# Takes an array of SignedGlobalIDs or strings that can be turned into a SignedGlobalIDs.
@@ -346,7 +359,7 @@ module GlobalID::Locator
# instances of returned classes to those including that module. If no classes or
# modules match, +nil+ is returned.
#
- # pkg:gem/globalid#lib/global_id/locator.rb:103
+ # pkg:gem/globalid#lib/global_id/locator.rb:106
def locate_many_signed(sgids, options = T.unsafe(nil)); end
# Takes either a SignedGlobalID or a string that can be turned into a SignedGlobalID
@@ -362,7 +375,7 @@ module GlobalID::Locator
# instances of returned classes to those including that module. If no classes or
# modules match, +nil+ is returned.
#
- # pkg:gem/globalid#lib/global_id/locator.rb:81
+ # pkg:gem/globalid#lib/global_id/locator.rb:84
def locate_signed(sgid, options = T.unsafe(nil)); end
# Tie a locator to an app.
@@ -388,80 +401,77 @@ module GlobalID::Locator
#
# @raise [ArgumentError]
#
- # pkg:gem/globalid#lib/global_id/locator.rb:127
+ # pkg:gem/globalid#lib/global_id/locator.rb:130
def use(app, locator = T.unsafe(nil), &locator_block); end
private
# @return [Boolean]
#
- # pkg:gem/globalid#lib/global_id/locator.rb:140
+ # pkg:gem/globalid#lib/global_id/locator.rb:143
def find_allowed?(model_class, only = T.unsafe(nil)); end
- # pkg:gem/globalid#lib/global_id/locator.rb:136
+ # pkg:gem/globalid#lib/global_id/locator.rb:139
def locator_for(gid); end
- # pkg:gem/globalid#lib/global_id/locator.rb:148
+ # pkg:gem/globalid#lib/global_id/locator.rb:151
def normalize_app(app); end
- # pkg:gem/globalid#lib/global_id/locator.rb:144
+ # pkg:gem/globalid#lib/global_id/locator.rb:147
def parse_allowed(gids, only = T.unsafe(nil)); end
end
end
-# pkg:gem/globalid#lib/global_id/locator.rb:156
+# pkg:gem/globalid#lib/global_id/locator.rb:159
class GlobalID::Locator::BaseLocator
- # pkg:gem/globalid#lib/global_id/locator.rb:157
+ # pkg:gem/globalid#lib/global_id/locator.rb:160
def locate(gid, options = T.unsafe(nil)); end
- # pkg:gem/globalid#lib/global_id/locator.rb:165
+ # pkg:gem/globalid#lib/global_id/locator.rb:168
def locate_many(gids, options = T.unsafe(nil)); end
private
- # pkg:gem/globalid#lib/global_id/locator.rb:189
+ # pkg:gem/globalid#lib/global_id/locator.rb:192
def find_records(model_class, ids, options); end
# @return [Boolean]
#
- # pkg:gem/globalid#lib/global_id/locator.rb:199
+ # pkg:gem/globalid#lib/global_id/locator.rb:202
def model_id_is_valid?(gid); end
- # pkg:gem/globalid#lib/global_id/locator.rb:203
+ # pkg:gem/globalid#lib/global_id/locator.rb:206
def primary_key(model_class); end
end
-# pkg:gem/globalid#lib/global_id/locator.rb:228
+# pkg:gem/globalid#lib/global_id/locator.rb:232
class GlobalID::Locator::BlockLocator
# @return [BlockLocator] a new instance of BlockLocator
#
- # pkg:gem/globalid#lib/global_id/locator.rb:229
+ # pkg:gem/globalid#lib/global_id/locator.rb:233
def initialize(block); end
- # pkg:gem/globalid#lib/global_id/locator.rb:233
+ # pkg:gem/globalid#lib/global_id/locator.rb:237
def locate(gid, options = T.unsafe(nil)); end
- # pkg:gem/globalid#lib/global_id/locator.rb:237
+ # pkg:gem/globalid#lib/global_id/locator.rb:241
def locate_many(gids, options = T.unsafe(nil)); end
end
-# pkg:gem/globalid#lib/global_id/locator.rb:226
-GlobalID::Locator::DEFAULT_LOCATOR = T.let(T.unsafe(nil), GlobalID::Locator::UnscopedLocator)
-
# pkg:gem/globalid#lib/global_id/locator.rb:5
class GlobalID::Locator::InvalidModelIdError < ::StandardError; end
-# pkg:gem/globalid#lib/global_id/locator.rb:208
+# pkg:gem/globalid#lib/global_id/locator.rb:211
class GlobalID::Locator::UnscopedLocator < ::GlobalID::Locator::BaseLocator
- # pkg:gem/globalid#lib/global_id/locator.rb:209
+ # pkg:gem/globalid#lib/global_id/locator.rb:212
def locate(gid, options = T.unsafe(nil)); end
private
- # pkg:gem/globalid#lib/global_id/locator.rb:214
+ # pkg:gem/globalid#lib/global_id/locator.rb:217
def find_records(model_class, ids, options); end
- # pkg:gem/globalid#lib/global_id/locator.rb:218
+ # pkg:gem/globalid#lib/global_id/locator.rb:221
def unscoped(model_class); end
end
@@ -600,7 +610,7 @@ class URI::GID < ::URI::Generic
# pkg:gem/globalid#lib/global_id/uri/gid.rb:28
def app; end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:107
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:109
def deconstruct_keys(_keys); end
# Returns the value of attribute model_id.
@@ -618,57 +628,57 @@ class URI::GID < ::URI::Generic
# pkg:gem/globalid#lib/global_id/uri/gid.rb:29
def params; end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:102
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:104
def to_s; end
protected
# Ruby 2.2 uses #query= instead of #set_query
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:118
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:120
def query=(query); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:129
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:131
def set_params(params); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:112
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:114
def set_path(path); end
# Ruby 2.1 or less uses #set_query to assign the query
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:124
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:126
def set_query(query); end
private
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:136
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:138
def check_host(host); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:141
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:143
def check_path(path); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:146
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:148
def check_scheme(scheme); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:195
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:197
def parse_query_params(query); end
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:154
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:156
def set_model_components(path, validate = T.unsafe(nil)); end
# @raise [URI::InvalidComponentError]
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:174
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:176
def validate_component(component); end
# @raise [InvalidModelIdError]
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:188
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:190
def validate_model_id(model_id_part); end
# @raise [MissingModelIdError]
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:181
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:183
def validate_model_id_section(model_id, model_name); end
class << self
@@ -685,14 +695,14 @@ class URI::GID < ::URI::Generic
#
# URI::GID.build(['bcx', 'Person', '1', key: 'value'])
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:88
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:90
def build(args); end
# Shorthand to build a URI::GID from an app, a model and optional params.
#
# URI::GID.create('bcx', Person.find(5), database: 'superhumans')
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:72
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:74
def create(app, model, params = T.unsafe(nil)); end
# Create a new URI::GID by parsing a gid string with argument check.
@@ -705,7 +715,7 @@ class URI::GID < ::URI::Generic
# URI.parse('gid://bcx') # => URI::GID instance
# URI::GID.parse('gid://bcx/') # => raises URI::InvalidComponentError
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:64
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:66
def parse(uri); end
# Validates +app+'s as URI hostnames containing only alphanumeric characters
@@ -717,12 +727,12 @@ class URI::GID < ::URI::Generic
# URI::GID.validate_app(nil) # => ArgumentError
# URI::GID.validate_app('foo/bar') # => ArgumentError
#
- # pkg:gem/globalid#lib/global_id/uri/gid.rb:48
+ # pkg:gem/globalid#lib/global_id/uri/gid.rb:50
def validate_app(app); end
end
end
-# pkg:gem/globalid#lib/global_id/uri/gid.rb:134
+# pkg:gem/globalid#lib/global_id/uri/gid.rb:136
URI::GID::COMPONENT = T.let(T.unsafe(nil), Array)
# pkg:gem/globalid#lib/global_id/uri/gid.rb:37
@@ -740,3 +750,6 @@ class URI::GID::InvalidModelIdError < ::URI::InvalidComponentError; end
#
# pkg:gem/globalid#lib/global_id/uri/gid.rb:32
class URI::GID::MissingModelIdError < ::URI::InvalidComponentError; end
+
+# pkg:gem/globalid#lib/global_id/uri/gid.rb:39
+URI::GID::URI_PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
diff --git a/sorbet/rbi/gems/mail@2.8.1.rbi b/sorbet/rbi/gems/mail@2.9.0.rbi
similarity index 84%
rename from sorbet/rbi/gems/mail@2.8.1.rbi
rename to sorbet/rbi/gems/mail@2.9.0.rbi
index 3eeb2e14a..cce6fd9ab 100644
--- a/sorbet/rbi/gems/mail@2.8.1.rbi
+++ b/sorbet/rbi/gems/mail@2.9.0.rbi
@@ -94,6 +94,11 @@ module Mail
# pkg:gem/mail#lib/mail/mail.rb:131
def deliver(*args, &block); end
+ # Returns a list of registered delivery interceptors.
+ #
+ # pkg:gem/mail#lib/mail/mail.rb:240
+ def delivery_interceptors; end
+
# Returns the delivery method selected, defaults to an instance of Mail::SMTP
#
# pkg:gem/mail#lib/mail/mail.rb:103
@@ -134,7 +139,7 @@ module Mail
# pkg:gem/mail#lib/mail/mail.rb:227
def inform_observers(mail); end
- # Receive the first email(s) from the default retriever
+ # Receive the last email(s) from the default retriever
# See Mail::Retriever for a complete documentation.
#
# pkg:gem/mail#lib/mail/mail.rb:157
@@ -189,7 +194,7 @@ module Mail
# pkg:gem/mail#lib/mail/mail.rb:50
def new(*args, &block); end
- # pkg:gem/mail#lib/mail/mail.rb:243
+ # pkg:gem/mail#lib/mail/mail.rb:248
def random_tag; end
# Reads in an email message from a path and instantiates it as a new Mail::Message
@@ -230,10 +235,10 @@ module Mail
# pkg:gem/mail#lib/mail/mail.rb:108
def retriever_method; end
- # pkg:gem/mail#lib/mail/mail.rb:252
+ # pkg:gem/mail#lib/mail/mail.rb:257
def something_random; end
- # pkg:gem/mail#lib/mail/mail.rb:256
+ # pkg:gem/mail#lib/mail/mail.rb:261
def uniq; end
# Unregister the given interceptor, allowing mail to resume operations
@@ -420,14 +425,14 @@ class Mail::Address
def strip_domain_comments(value); end
end
-# pkg:gem/mail#lib/mail/fields/common_address_field.rb:6
+# pkg:gem/mail#lib/mail/fields/common_address_field.rb:5
class Mail::AddressContainer < ::Array
# @return [AddressContainer] a new instance of AddressContainer
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:7
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:6
def initialize(field, list = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:12
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:11
def <<(address); end
end
@@ -483,22 +488,22 @@ class Mail::AttachmentsList < ::Array
# mail.attachments['test.png'].filename #=> 'test.png'
# mail.attachments[1].filename #=> 'test.jpg'
#
- # pkg:gem/mail#lib/mail/attachments_list.rb:32
+ # pkg:gem/mail#lib/mail/attachments_list.rb:34
def [](index_value); end
- # pkg:gem/mail#lib/mail/attachments_list.rb:40
+ # pkg:gem/mail#lib/mail/attachments_list.rb:42
def []=(name, value); end
# Uses the mime type to try and guess the encoding, if it is a binary type, or unknown, then we
# set it to binary, otherwise as set to plain text
#
- # pkg:gem/mail#lib/mail/attachments_list.rb:91
+ # pkg:gem/mail#lib/mail/attachments_list.rb:93
def guess_encoding; end
- # pkg:gem/mail#lib/mail/attachments_list.rb:20
+ # pkg:gem/mail#lib/mail/attachments_list.rb:22
def inline; end
- # pkg:gem/mail#lib/mail/attachments_list.rb:99
+ # pkg:gem/mail#lib/mail/attachments_list.rb:101
def set_mime_type(filename); end
end
@@ -528,32 +533,32 @@ end
# mail[:bcc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:bcc].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/bcc_field.rb:31
+# pkg:gem/mail#lib/mail/fields/bcc_field.rb:30
class Mail::BccField < ::Mail::CommonAddressField
# @return [BccField] a new instance of BccField
#
- # pkg:gem/mail#lib/mail/fields/bcc_field.rb:36
+ # pkg:gem/mail#lib/mail/fields/bcc_field.rb:35
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
# Bcc field should not be :encoded by default
#
- # pkg:gem/mail#lib/mail/fields/bcc_field.rb:42
+ # pkg:gem/mail#lib/mail/fields/bcc_field.rb:41
def encoded; end
# Returns the value of attribute include_in_headers.
#
- # pkg:gem/mail#lib/mail/fields/bcc_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/bcc_field.rb:33
def include_in_headers; end
# Sets the attribute include_in_headers
#
# @param value the value to set the attribute include_in_headers to.
#
- # pkg:gem/mail#lib/mail/fields/bcc_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/bcc_field.rb:33
def include_in_headers=(_arg0); end
end
-# pkg:gem/mail#lib/mail/fields/bcc_field.rb:32
+# pkg:gem/mail#lib/mail/fields/bcc_field.rb:31
Mail::BccField::NAME = T.let(T.unsafe(nil), String)
# = Body
@@ -812,53 +817,12 @@ end
# mail[:cc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:cc].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/cc_field.rb:31
+# pkg:gem/mail#lib/mail/fields/cc_field.rb:30
class Mail::CcField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/cc_field.rb:32
+# pkg:gem/mail#lib/mail/fields/cc_field.rb:31
Mail::CcField::NAME = T.let(T.unsafe(nil), String)
-# pkg:gem/mail#lib/mail/check_delivery_params.rb:5
-module Mail::CheckDeliveryParams
- class << self
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:16
- def _deprecated_check(mail); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:36
- def _deprecated_check_addr(addr_name, addr); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:22
- def _deprecated_check_from(addr); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:62
- def _deprecated_check_message(message); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:30
- def _deprecated_check_to(addrs); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:51
- def _deprecated_validate_smtp_addr(addr); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:10
- def check(*args, **_arg1, &block); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:32
- def check_addr(*args, **_arg1, &block); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:18
- def check_from(*args, **_arg1, &block); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:53
- def check_message(*args, **_arg1, &block); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:24
- def check_to(*args, **_arg1, &block); end
-
- # pkg:gem/mail#lib/mail/check_delivery_params.rb:38
- def validate_smtp_addr(*args, **_arg1, &block); end
- end
-end
-
# = Comments Field
#
# The Comments field inherits from UnstructuredField and handles the Comments:
@@ -883,141 +847,141 @@ end
# mail[:comments].map { |c| c.to_s }
# #=> ['This is a comment', "This is another comment"]
#
-# pkg:gem/mail#lib/mail/fields/comments_field.rb:29
+# pkg:gem/mail#lib/mail/fields/comments_field.rb:28
class Mail::CommentsField < ::Mail::NamedUnstructuredField; end
-# pkg:gem/mail#lib/mail/fields/comments_field.rb:30
+# pkg:gem/mail#lib/mail/fields/comments_field.rb:29
Mail::CommentsField::NAME = T.let(T.unsafe(nil), String)
-# pkg:gem/mail#lib/mail/fields/common_address_field.rb:17
+# pkg:gem/mail#lib/mail/fields/common_address_field.rb:16
class Mail::CommonAddressField < ::Mail::NamedStructuredField
# @return [CommonAddressField] a new instance of CommonAddressField
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:22
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:21
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:94
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:93
def <<(val); end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:41
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:40
def address; end
# Returns the address string of all the addresses in the address list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:46
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:45
def addresses; end
# Returns the actual address objects in the address list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:64
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:63
def addrs; end
# Returns a list of decoded group addresses
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:80
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:79
def decoded_group_addresses; end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:37
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:36
def default; end
# Returns the display name of all the addresses in the address list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:58
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:57
def display_names; end
# Allows you to iterate through each address object in the address_list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:31
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:30
def each; end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:26
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:25
def element; end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:105
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:104
def encode_if_needed(val, val_charset = T.unsafe(nil)); end
# Returns a list of encoded group addresses
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:85
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:84
def encoded_group_addresses; end
# Returns the formatted string of all the addresses in the address list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:52
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:51
def formatted; end
# Returns the addresses that are part of groups
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:75
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:74
def group_addresses; end
# Returns the name of all the groups in a string
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:90
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:89
def group_names; end
# Returns a hash of group name => address strings for the address list
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:70
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:69
def groups; end
private
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:150
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:142
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:140
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:132
def do_encode; end
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:160
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:152
def get_group_addresses(group_list); end
# Pass through UTF-8 addresses
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:123
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:122
def utf8_if_needed(val, val_charset); end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/common_address_field.rb:18
+ # pkg:gem/mail#lib/mail/fields/common_address_field.rb:17
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/common_date_field.rb:6
+# pkg:gem/mail#lib/mail/fields/common_date_field.rb:4
class Mail::CommonDateField < ::Mail::NamedStructuredField
# @return [CommonDateField] a new instance of CommonDateField
#
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:30
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:28
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
# Returns a date time object of the parsed date
#
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:35
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:33
def date_time; end
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:41
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:39
def default; end
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:45
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:43
def element; end
private
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:54
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:52
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:50
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:48
def do_encode; end
class << self
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:11
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:9
def normalize_datetime(string); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/common_date_field.rb:7
+ # pkg:gem/mail#lib/mail/fields/common_date_field.rb:5
def singular?; end
end
end
@@ -1113,32 +1077,32 @@ end
# pkg:gem/mail#lib/mail/fields/common_field.rb:68
Mail::CommonField::FILENAME_RE = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:7
+# pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:6
class Mail::CommonMessageIdField < ::Mail::NamedStructuredField
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:20
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:19
def default; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:8
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:7
def element; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:12
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:11
def message_id; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:16
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:15
def message_ids; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:25
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:24
def to_s; end
private
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:33
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:30
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:29
def do_encode; end
- # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:38
+ # pkg:gem/mail#lib/mail/fields/common_message_id_field.rb:37
def formatted_message_ids(join = T.unsafe(nil)); end
end
@@ -1302,17 +1266,17 @@ Mail::Constants::UNFOLD_WS = T.let(T.unsafe(nil), Regexp)
# pkg:gem/mail#lib/mail/constants.rb:20
Mail::Constants::WSP = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/mail#lib/mail/fields/content_description_field.rb:6
+# pkg:gem/mail#lib/mail/fields/content_description_field.rb:5
class Mail::ContentDescriptionField < ::Mail::NamedUnstructuredField
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_description_field.rb:9
+ # pkg:gem/mail#lib/mail/fields/content_description_field.rb:8
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/content_description_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_description_field.rb:6
Mail::ContentDescriptionField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/content_disposition_element.rb:6
@@ -1338,72 +1302,72 @@ class Mail::ContentDispositionElement
def cleaned(string); end
end
-# pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:5
class Mail::ContentDispositionField < ::Mail::NamedStructuredField
# @return [ContentDispositionField] a new instance of ContentDispositionField
#
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:14
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:12
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:41
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:39
def decoded; end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:22
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:20
def disposition_type; end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:18
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:16
def element; end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:36
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:34
def encoded; end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:32
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:30
def filename; end
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:26
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:24
def parameters; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:10
+ # pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:8
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:8
+# pkg:gem/mail#lib/mail/fields/content_disposition_field.rb:6
Mail::ContentDispositionField::NAME = T.let(T.unsafe(nil), String)
-# pkg:gem/mail#lib/mail/fields/content_id_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_id_field.rb:6
class Mail::ContentIdField < ::Mail::NamedStructuredField
# @return [ContentIdField] a new instance of ContentIdField
#
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:14
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:13
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:23
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:22
def content_id; end
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:19
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:18
def element; end
private
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:28
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:27
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:32
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:31
def do_encode; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_id_field.rb:10
+ # pkg:gem/mail#lib/mail/fields/content_id_field.rb:9
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/content_id_field.rb:8
+# pkg:gem/mail#lib/mail/fields/content_id_field.rb:7
Mail::ContentIdField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/content_location_element.rb:6
@@ -1422,29 +1386,29 @@ class Mail::ContentLocationElement
def to_s(*args); end
end
-# pkg:gem/mail#lib/mail/fields/content_location_field.rb:6
+# pkg:gem/mail#lib/mail/fields/content_location_field.rb:5
class Mail::ContentLocationField < ::Mail::NamedStructuredField
- # pkg:gem/mail#lib/mail/fields/content_location_field.rb:25
+ # pkg:gem/mail#lib/mail/fields/content_location_field.rb:24
def decoded; end
- # pkg:gem/mail#lib/mail/fields/content_location_field.rb:13
+ # pkg:gem/mail#lib/mail/fields/content_location_field.rb:12
def element; end
- # pkg:gem/mail#lib/mail/fields/content_location_field.rb:21
+ # pkg:gem/mail#lib/mail/fields/content_location_field.rb:20
def encoded; end
- # pkg:gem/mail#lib/mail/fields/content_location_field.rb:17
+ # pkg:gem/mail#lib/mail/fields/content_location_field.rb:16
def location; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_location_field.rb:9
+ # pkg:gem/mail#lib/mail/fields/content_location_field.rb:8
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/content_location_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_location_field.rb:6
Mail::ContentLocationField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/content_transfer_encoding_element.rb:6
@@ -1460,39 +1424,39 @@ class Mail::ContentTransferEncodingElement
def encoding; end
end
-# pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:6
+# pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:5
class Mail::ContentTransferEncodingField < ::Mail::NamedStructuredField
# @return [ContentTransferEncodingField] a new instance of ContentTransferEncodingField
#
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:24
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:23
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:28
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:27
def element; end
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:32
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:31
def encoding; end
private
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:41
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:40
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:37
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:36
def do_encode; end
class << self
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:13
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:12
def normalize_content_transfer_encoding(value); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:9
+ # pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:8
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_transfer_encoding_field.rb:6
Mail::ContentTransferEncodingField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/content_type_element.rb:6
@@ -1523,81 +1487,81 @@ class Mail::ContentTypeElement
def cleaned(string); end
end
-# pkg:gem/mail#lib/mail/fields/content_type_field.rb:7
+# pkg:gem/mail#lib/mail/fields/content_type_field.rb:5
class Mail::ContentTypeField < ::Mail::NamedStructuredField
# @return [ContentTypeField] a new instance of ContentTypeField
#
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:24
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:22
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:47
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:45
def attempt_to_clean; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:66
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:64
def content_type; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:101
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:99
def decoded; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:68
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:66
def default; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:38
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:36
def element; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:96
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:94
def encoded; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:92
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:90
def filename; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:55
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:53
def main_type; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:72
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:70
def parameters; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:63
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:61
def string; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:88
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:86
def stringify(params); end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:59
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:57
def sub_type; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:80
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:78
def value; end
private
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:163
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:162
def get_mime_type(val); end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:108
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:106
def method_missing(name, *args, &block); end
# Various special cases from random emails found that I am not going to change
# the parser for
#
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:119
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:117
def sanitize(val); end
class << self
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:19
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:17
def generate_boundary; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:11
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:9
def singular?; end
- # pkg:gem/mail#lib/mail/fields/content_type_field.rb:15
+ # pkg:gem/mail#lib/mail/fields/content_type_field.rb:13
def with_boundary(type); end
end
end
-# pkg:gem/mail#lib/mail/fields/content_type_field.rb:8
+# pkg:gem/mail#lib/mail/fields/content_type_field.rb:6
Mail::ContentTypeField::NAME = T.let(T.unsafe(nil), String)
# = Date Field
@@ -1621,10 +1585,10 @@ Mail::ContentTypeField::NAME = T.let(T.unsafe(nil), String)
# mail['date'] #=> '# '#(other); end
- # pkg:gem/mail#lib/mail/field.rb:216
+ # pkg:gem/mail#lib/mail/field.rb:246
def ==(other); end
- # pkg:gem/mail#lib/mail/field.rb:186
+ # pkg:gem/mail#lib/mail/field.rb:216
def field; end
- # pkg:gem/mail#lib/mail/field.rb:182
+ # pkg:gem/mail#lib/mail/field.rb:212
def field=(field); end
- # pkg:gem/mail#lib/mail/field.rb:228
+ # pkg:gem/mail#lib/mail/field.rb:258
def field_order_id; end
- # pkg:gem/mail#lib/mail/field.rb:206
+ # pkg:gem/mail#lib/mail/field.rb:236
def inspect; end
- # pkg:gem/mail#lib/mail/field.rb:232
+ # pkg:gem/mail#lib/mail/field.rb:262
def method_missing(name, *args, &block); end
- # pkg:gem/mail#lib/mail/field.rb:190
+ # pkg:gem/mail#lib/mail/field.rb:220
def name; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/field.rb:220
+ # pkg:gem/mail#lib/mail/field.rb:250
def responsible_for?(field_name); end
- # pkg:gem/mail#lib/mail/field.rb:212
+ # pkg:gem/mail#lib/mail/field.rb:242
def same(other); end
- # pkg:gem/mail#lib/mail/field.rb:202
+ # pkg:gem/mail#lib/mail/field.rb:232
def to_s; end
# Returns the value of attribute unparsed_value.
#
- # pkg:gem/mail#lib/mail/field.rb:152
+ # pkg:gem/mail#lib/mail/field.rb:181
def unparsed_value; end
- # pkg:gem/mail#lib/mail/field.rb:194
+ # pkg:gem/mail#lib/mail/field.rb:224
def value; end
- # pkg:gem/mail#lib/mail/field.rb:198
+ # pkg:gem/mail#lib/mail/field.rb:228
def value=(val); end
private
- # pkg:gem/mail#lib/mail/field.rb:253
+ # pkg:gem/mail#lib/mail/field.rb:283
def create_field(name, value, charset); end
- # pkg:gem/mail#lib/mail/field.rb:261
+ # pkg:gem/mail#lib/mail/field.rb:291
def parse_field(name, value, charset); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/field.rb:236
+ # pkg:gem/mail#lib/mail/field.rb:266
def respond_to_missing?(method_name, include_private); end
# 2.2.3. Long Header Fields
@@ -2231,11 +2195,11 @@ class Mail::Field
# treated in its unfolded form for further syntactic and semantic
# evaluation.
#
- # pkg:gem/mail#lib/mail/field.rb:279
+ # pkg:gem/mail#lib/mail/field.rb:309
def unfold(string); end
class << self
- # pkg:gem/mail#lib/mail/field.rb:147
+ # pkg:gem/mail#lib/mail/field.rb:175
def field_class_for(name); end
# Parse a field from a raw header line:
@@ -2243,10 +2207,10 @@ class Mail::Field
# Mail::Field.parse("field-name: field data")
# # => #
#
- # pkg:gem/mail#lib/mail/field.rb:122
+ # pkg:gem/mail#lib/mail/field.rb:150
def parse(field, charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/field.rb:129
+ # pkg:gem/mail#lib/mail/field.rb:157
def split(raw_field); end
end
end
@@ -2257,64 +2221,64 @@ Mail::Field::FIELDS_MAP = T.let(T.unsafe(nil), Hash)
# pkg:gem/mail#lib/mail/field.rb:70
Mail::Field::FIELD_NAME_MAP = T.let(T.unsafe(nil), Hash)
-# pkg:gem/mail#lib/mail/field.rb:240
+# pkg:gem/mail#lib/mail/field.rb:270
Mail::Field::FIELD_ORDER_LOOKUP = T.let(T.unsafe(nil), Hash)
# Generic Field Exception
#
-# pkg:gem/mail#lib/mail/field.rb:75
+# pkg:gem/mail#lib/mail/field.rb:103
class Mail::Field::FieldError < ::StandardError; end
-# pkg:gem/mail#lib/mail/field.rb:106
+# pkg:gem/mail#lib/mail/field.rb:134
class Mail::Field::IncompleteParseError < ::Mail::Field::ParseError
# @return [IncompleteParseError] a new instance of IncompleteParseError
#
- # pkg:gem/mail#lib/mail/field.rb:107
+ # pkg:gem/mail#lib/mail/field.rb:135
def initialize(element, original_text, unparsed_index); end
end
# pkg:gem/mail#lib/mail/field.rb:36
Mail::Field::KNOWN_FIELDS = T.let(T.unsafe(nil), Array)
-# pkg:gem/mail#lib/mail/field.rb:100
+# pkg:gem/mail#lib/mail/field.rb:128
class Mail::Field::NilParseError < ::Mail::Field::ParseError
# @return [NilParseError] a new instance of NilParseError
#
- # pkg:gem/mail#lib/mail/field.rb:101
+ # pkg:gem/mail#lib/mail/field.rb:129
def initialize(element); end
end
# Raised when a parsing error has occurred (ie, a StructuredField has tried
# to parse a field that is invalid or improperly written)
#
-# pkg:gem/mail#lib/mail/field.rb:80
+# pkg:gem/mail#lib/mail/field.rb:108
class Mail::Field::ParseError < ::Mail::Field::FieldError
# @return [ParseError] a new instance of ParseError
#
- # pkg:gem/mail#lib/mail/field.rb:83
+ # pkg:gem/mail#lib/mail/field.rb:111
def initialize(element, value, reason); end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def element; end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def element=(_arg0); end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def reason; end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def reason=(_arg0); end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def value; end
- # pkg:gem/mail#lib/mail/field.rb:81
+ # pkg:gem/mail#lib/mail/field.rb:109
def value=(_arg0); end
private
- # pkg:gem/mail#lib/mail/field.rb:91
+ # pkg:gem/mail#lib/mail/field.rb:119
def to_utf8(text); end
end
@@ -2323,7 +2287,7 @@ Mail::Field::STRUCTURED_FIELDS = T.let(T.unsafe(nil), Array)
# Raised when attempting to set a structured field's contents to an invalid syntax
#
-# pkg:gem/mail#lib/mail/field.rb:114
+# pkg:gem/mail#lib/mail/field.rb:142
class Mail::Field::SyntaxError < ::Mail::Field::FieldError; end
# Field List class provides an enhanced array that keeps a list of
@@ -2429,10 +2393,10 @@ end
# mail[:from].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:from].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/from_field.rb:31
+# pkg:gem/mail#lib/mail/fields/from_field.rb:30
class Mail::FromField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/from_field.rb:32
+# pkg:gem/mail#lib/mail/fields/from_field.rb:31
Mail::FromField::NAME = T.let(T.unsafe(nil), String)
# Provides access to a header object.
@@ -2677,12 +2641,12 @@ class Mail::IMAP < ::Mail::Retriever
#
# @raise [ArgumentError]
#
- # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:133
+ # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:136
def connection(&block); end
# Delete all emails from a IMAP mailbox
#
- # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:119
+ # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:122
def delete_all(mailbox = T.unsafe(nil)); end
# Find emails in a IMAP mailbox. Without any options, the 10 last received emails are returned.
@@ -2723,12 +2687,12 @@ class Mail::IMAP < ::Mail::Retriever
# Start an IMAP session and ensures that it will be closed in any case.
#
- # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:160
+ # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:163
def start(config = T.unsafe(nil), &block); end
# Set default options
#
- # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:144
+ # pkg:gem/mail#lib/mail/network/retriever_methods/imap.rb:147
def validate_options(options); end
end
@@ -2758,22 +2722,22 @@ end
#
# mail[:in_reply_to].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
#
-# pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:31
+# pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:30
class Mail::InReplyToField < ::Mail::CommonMessageIdField
# @return [InReplyToField] a new instance of InReplyToField
#
- # pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:38
+ # pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:37
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:33
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:32
+# pkg:gem/mail#lib/mail/fields/in_reply_to_field.rb:31
Mail::InReplyToField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/indifferent_hash.rb:8
@@ -2953,27 +2917,27 @@ end
# keywords = "Keywords:" phrase *("," phrase) CRLF
#
-# pkg:gem/mail#lib/mail/fields/keywords_field.rb:7
+# pkg:gem/mail#lib/mail/fields/keywords_field.rb:6
class Mail::KeywordsField < ::Mail::NamedStructuredField
- # pkg:gem/mail#lib/mail/fields/keywords_field.rb:18
+ # pkg:gem/mail#lib/mail/fields/keywords_field.rb:17
def default; end
- # pkg:gem/mail#lib/mail/fields/keywords_field.rb:10
+ # pkg:gem/mail#lib/mail/fields/keywords_field.rb:9
def element; end
- # pkg:gem/mail#lib/mail/fields/keywords_field.rb:14
+ # pkg:gem/mail#lib/mail/fields/keywords_field.rb:13
def keywords; end
private
- # pkg:gem/mail#lib/mail/fields/keywords_field.rb:23
+ # pkg:gem/mail#lib/mail/fields/keywords_field.rb:22
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/keywords_field.rb:27
+ # pkg:gem/mail#lib/mail/fields/keywords_field.rb:26
def do_encode; end
end
-# pkg:gem/mail#lib/mail/fields/keywords_field.rb:8
+# pkg:gem/mail#lib/mail/fields/keywords_field.rb:7
Mail::KeywordsField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/network/delivery_methods/logger_delivery.rb:4
@@ -3329,6 +3293,10 @@ class Mail::Message
# the same content, ignoring the Message-ID field, unless BOTH emails have a defined and
# different Message-ID value, then they are false.
#
+ # Note that Mail creates Date and Mime-Type fields if they don't exist.
+ # The Date field is derived from the current time, so this needs to be allowed for in comparisons.
+ # (Mime-type does not depend on dynamic data, so cannot affect equality)
+ #
# So, in practice the == operator works like this:
#
# m1 = Mail.new("Subject: Hello\r\n\r\nHello")
@@ -3351,7 +3319,7 @@ class Mail::Message
# m2 = Mail.new("Message-ID: \r\nSubject: Hello\r\n\r\nHello")
# m1 == m2 #=> false
#
- # pkg:gem/mail#lib/mail/message.rb:373
+ # pkg:gem/mail#lib/mail/message.rb:377
def ==(other); end
# Allows you to read an arbitrary header
@@ -3361,7 +3329,7 @@ class Mail::Message
# mail['foo'] = '1234'
# mail['foo'].to_s #=> '1234'
#
- # pkg:gem/mail#lib/mail/message.rb:1334
+ # pkg:gem/mail#lib/mail/message.rb:1341
def [](name); end
# Allows you to add an arbitrary header
@@ -3371,29 +3339,29 @@ class Mail::Message
# mail['foo'] = '1234'
# mail['foo'].to_s #=> '1234'
#
- # pkg:gem/mail#lib/mail/message.rb:1316
+ # pkg:gem/mail#lib/mail/message.rb:1323
def []=(name, value); end
- # pkg:gem/mail#lib/mail/message.rb:1558
+ # pkg:gem/mail#lib/mail/message.rb:1565
def action; end
# Adds a content type and charset if the body is US-ASCII
#
# Otherwise raises a warning
#
- # pkg:gem/mail#lib/mail/message.rb:1472
+ # pkg:gem/mail#lib/mail/message.rb:1479
def add_charset; end
# Adds a content transfer encoding
#
- # pkg:gem/mail#lib/mail/message.rb:1487
+ # pkg:gem/mail#lib/mail/message.rb:1494
def add_content_transfer_encoding; end
# Adds a content type and charset if the body is US-ASCII
#
# Otherwise raises a warning
#
- # pkg:gem/mail#lib/mail/message.rb:1465
+ # pkg:gem/mail#lib/mail/message.rb:1472
def add_content_type; end
# Creates a new empty Date field and inserts it in the correct order
@@ -3403,7 +3371,7 @@ class Mail::Message
#
# It will preserve any date you specify if you do.
#
- # pkg:gem/mail#lib/mail/message.rb:1448
+ # pkg:gem/mail#lib/mail/message.rb:1455
def add_date(date_val = T.unsafe(nil)); end
# Adds a file to the message. You have two options with this method, you can
@@ -3436,7 +3404,7 @@ class Mail::Message
#
# See also #attachments
#
- # pkg:gem/mail#lib/mail/message.rb:1757
+ # pkg:gem/mail#lib/mail/message.rb:1764
def add_file(values); end
# Creates a new empty Message-ID field and inserts it in the correct order
@@ -3446,7 +3414,7 @@ class Mail::Message
#
# It will preserve the message ID you specify if you do.
#
- # pkg:gem/mail#lib/mail/message.rb:1438
+ # pkg:gem/mail#lib/mail/message.rb:1445
def add_message_id(msg_id_val = T.unsafe(nil)); end
# Creates a new empty Mime Version field and inserts it in the correct order
@@ -3456,20 +3424,20 @@ class Mail::Message
#
# It will preserve any date you specify if you do.
#
- # pkg:gem/mail#lib/mail/message.rb:1458
+ # pkg:gem/mail#lib/mail/message.rb:1465
def add_mime_version(ver_val = T.unsafe(nil)); end
# Adds a part to the parts list or creates the part list
#
- # pkg:gem/mail#lib/mail/message.rb:1701
+ # pkg:gem/mail#lib/mail/message.rb:1708
def add_part(part); end
- # pkg:gem/mail#lib/mail/message.rb:1927
+ # pkg:gem/mail#lib/mail/message.rb:1934
def all_parts; end
# Returns the attachment data if there is any
#
- # pkg:gem/mail#lib/mail/message.rb:1918
+ # pkg:gem/mail#lib/mail/message.rb:1925
def attachment; end
# Returns true if this part is an attachment,
@@ -3477,7 +3445,7 @@ class Mail::Message
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1913
+ # pkg:gem/mail#lib/mail/message.rb:1920
def attachment?; end
# Returns an AttachmentsList object, which holds all of the attachments in
@@ -3514,7 +3482,7 @@ class Mail::Message
# # or by index
# mail.attachments[0] #=> Mail::Part (first attachment)
#
- # pkg:gem/mail#lib/mail/message.rb:1626
+ # pkg:gem/mail#lib/mail/message.rb:1633
def attachments; end
# Returns the Bcc value of the mail object as an array of strings of
@@ -3543,7 +3511,7 @@ class Mail::Message
# mail.bcc << 'ada@test.lindsaar.net'
# mail.bcc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:500
+ # pkg:gem/mail#lib/mail/message.rb:507
def bcc(val = T.unsafe(nil)); end
# Sets the Bcc value of the mail object, pass in a string of the field
@@ -3555,13 +3523,13 @@ class Mail::Message
# mail.bcc = 'Mikel , ada@test.lindsaar.net'
# mail.bcc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:512
+ # pkg:gem/mail#lib/mail/message.rb:519
def bcc=(val); end
# Returns an array of addresses (the encoded value) in the Bcc field,
# if no Bcc field, returns an empty array
#
- # pkg:gem/mail#lib/mail/message.rb:1306
+ # pkg:gem/mail#lib/mail/message.rb:1313
def bcc_addrs; end
# Returns the body of the message object. Or, if passed
@@ -3575,7 +3543,7 @@ class Mail::Message
# mail.body 'This is another body'
# mail.body #=> # 2
# mail.parts.last.content_type.content_type #=> 'This is a body'
#
- # pkg:gem/mail#lib/mail/message.rb:1237
+ # pkg:gem/mail#lib/mail/message.rb:1244
def body=(value); end
- # pkg:gem/mail#lib/mail/message.rb:1260
+ # pkg:gem/mail#lib/mail/message.rb:1267
def body_encoding(value = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:1268
+ # pkg:gem/mail#lib/mail/message.rb:1275
def body_encoding=(value); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1554
+ # pkg:gem/mail#lib/mail/message.rb:1561
def bounced?; end
# Returns the current boundary for this message part
#
- # pkg:gem/mail#lib/mail/message.rb:1583
+ # pkg:gem/mail#lib/mail/message.rb:1590
def boundary; end
# Returns the Cc value of the mail object as an array of strings of
@@ -3649,7 +3617,7 @@ class Mail::Message
# mail.cc << 'ada@test.lindsaar.net'
# mail.cc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:541
+ # pkg:gem/mail#lib/mail/message.rb:548
def cc(val = T.unsafe(nil)); end
# Sets the Cc value of the mail object, pass in a string of the field
@@ -3661,85 +3629,85 @@ class Mail::Message
# mail.cc = 'Mikel , ada@test.lindsaar.net'
# mail.cc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:553
+ # pkg:gem/mail#lib/mail/message.rb:560
def cc=(val); end
# Returns an array of addresses (the encoded value) in the Cc field,
# if no Cc field, returns an empty array
#
- # pkg:gem/mail#lib/mail/message.rb:1300
+ # pkg:gem/mail#lib/mail/message.rb:1307
def cc_addrs; end
# Returns the character set defined in the content type field
#
- # pkg:gem/mail#lib/mail/message.rb:1497
+ # pkg:gem/mail#lib/mail/message.rb:1504
def charset; end
# Sets the charset to the supplied value.
#
- # pkg:gem/mail#lib/mail/message.rb:1506
+ # pkg:gem/mail#lib/mail/message.rb:1513
def charset=(value); end
- # pkg:gem/mail#lib/mail/message.rb:557
+ # pkg:gem/mail#lib/mail/message.rb:564
def comments(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:561
+ # pkg:gem/mail#lib/mail/message.rb:568
def comments=(val); end
- # pkg:gem/mail#lib/mail/message.rb:565
+ # pkg:gem/mail#lib/mail/message.rb:572
def content_description(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:569
+ # pkg:gem/mail#lib/mail/message.rb:576
def content_description=(val); end
- # pkg:gem/mail#lib/mail/message.rb:573
+ # pkg:gem/mail#lib/mail/message.rb:580
def content_disposition(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:577
+ # pkg:gem/mail#lib/mail/message.rb:584
def content_disposition=(val); end
- # pkg:gem/mail#lib/mail/message.rb:581
+ # pkg:gem/mail#lib/mail/message.rb:588
def content_id(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:585
+ # pkg:gem/mail#lib/mail/message.rb:592
def content_id=(val); end
- # pkg:gem/mail#lib/mail/message.rb:589
+ # pkg:gem/mail#lib/mail/message.rb:596
def content_location(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:593
+ # pkg:gem/mail#lib/mail/message.rb:600
def content_location=(val); end
- # pkg:gem/mail#lib/mail/message.rb:597
+ # pkg:gem/mail#lib/mail/message.rb:604
def content_transfer_encoding(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:601
+ # pkg:gem/mail#lib/mail/message.rb:608
def content_transfer_encoding=(val); end
- # pkg:gem/mail#lib/mail/message.rb:605
+ # pkg:gem/mail#lib/mail/message.rb:612
def content_type(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:609
+ # pkg:gem/mail#lib/mail/message.rb:616
def content_type=(val); end
# Returns the content type parameters
#
- # pkg:gem/mail#lib/mail/message.rb:1523
+ # pkg:gem/mail#lib/mail/message.rb:1530
def content_type_parameters; end
- # pkg:gem/mail#lib/mail/message.rb:1773
+ # pkg:gem/mail#lib/mail/message.rb:1780
def convert_to_multipart; end
- # pkg:gem/mail#lib/mail/message.rb:613
+ # pkg:gem/mail#lib/mail/message.rb:620
def date(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:617
+ # pkg:gem/mail#lib/mail/message.rb:624
def date=(val); end
- # pkg:gem/mail#lib/mail/message.rb:1907
+ # pkg:gem/mail#lib/mail/message.rb:1914
def decode_body; end
- # pkg:gem/mail#lib/mail/message.rb:1886
+ # pkg:gem/mail#lib/mail/message.rb:1893
def decoded; end
# Returns the default value of the field requested as a symbol.
@@ -3750,7 +3718,7 @@ class Mail::Message
# their value, the address field types will return a single addr_spec or an array of
# addr_specs if there is more than one.
#
- # pkg:gem/mail#lib/mail/message.rb:1204
+ # pkg:gem/mail#lib/mail/message.rb:1211
def default(sym, val = T.unsafe(nil)); end
# Delivers a mail object.
@@ -3864,14 +3832,14 @@ class Mail::Message
# returns the part in a multipart/report email that has the content-type delivery-status
#
- # pkg:gem/mail#lib/mail/message.rb:1543
+ # pkg:gem/mail#lib/mail/message.rb:1550
def delivery_status_part; end
# Returns true if the message is a multipart/report; report-type=delivery-status;
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1538
+ # pkg:gem/mail#lib/mail/message.rb:1545
def delivery_status_report?; end
# Returns the list of addresses this message should be sent to by
@@ -3885,26 +3853,26 @@ class Mail::Message
# mail.destinations.length #=> 3
# mail.destinations.first #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:1282
+ # pkg:gem/mail#lib/mail/message.rb:1289
def destinations; end
- # pkg:gem/mail#lib/mail/message.rb:1570
+ # pkg:gem/mail#lib/mail/message.rb:1577
def diagnostic_code; end
# Outputs an encoded string representation of the mail message including
# all headers, attachments, etc. This is an encoded email in US-ASCII,
# so it is able to be directly sent to an email server.
#
- # pkg:gem/mail#lib/mail/message.rb:1803
+ # pkg:gem/mail#lib/mail/message.rb:1810
def encoded; end
- # pkg:gem/mail#lib/mail/message.rb:418
+ # pkg:gem/mail#lib/mail/message.rb:425
def envelope_date; end
- # pkg:gem/mail#lib/mail/message.rb:414
+ # pkg:gem/mail#lib/mail/message.rb:421
def envelope_from; end
- # pkg:gem/mail#lib/mail/message.rb:1566
+ # pkg:gem/mail#lib/mail/message.rb:1573
def error_status; end
# Returns a list of parser errors on the header, each field that had an error
@@ -3920,23 +3888,23 @@ class Mail::Message
# message.errors.size #=> 1
# message.errors.first[0] #=> "Content-Transfer-Encoding"
# message.errors.first[1] #=> "weirdo"
- # message.errors.first[3] #=>
+ # message.errors.first[2] #=>
#
# This is a good first defence on detecting spam by the way. Some spammers send
# invalid emails to try and get email parsers to give up parsing them.
#
- # pkg:gem/mail#lib/mail/message.rb:471
+ # pkg:gem/mail#lib/mail/message.rb:478
def errors; end
# Returns the filename of the attachment
#
- # pkg:gem/mail#lib/mail/message.rb:1923
+ # pkg:gem/mail#lib/mail/message.rb:1930
def filename; end
- # pkg:gem/mail#lib/mail/message.rb:1562
+ # pkg:gem/mail#lib/mail/message.rb:1569
def final_recipient; end
- # pkg:gem/mail#lib/mail/message.rb:1931
+ # pkg:gem/mail#lib/mail/message.rb:1938
def find_first_mime_type(mt); end
# Returns the From value of the mail object as an array of strings of
@@ -3965,7 +3933,7 @@ class Mail::Message
# mail.from << 'ada@test.lindsaar.net'
# mail.from #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:658
+ # pkg:gem/mail#lib/mail/message.rb:665
def from(val = T.unsafe(nil)); end
# Sets the From value of the mail object, pass in a string of the field
@@ -3977,33 +3945,33 @@ class Mail::Message
# mail.from = 'Mikel , ada@test.lindsaar.net'
# mail.from #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:670
+ # pkg:gem/mail#lib/mail/message.rb:677
def from=(val); end
# Returns an array of addresses (the encoded value) in the From field,
# if no From field, returns an empty array
#
- # pkg:gem/mail#lib/mail/message.rb:1288
+ # pkg:gem/mail#lib/mail/message.rb:1295
def from_addrs; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1630
+ # pkg:gem/mail#lib/mail/message.rb:1637
def has_attachments?; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1423
+ # pkg:gem/mail#lib/mail/message.rb:1430
def has_charset?; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1428
+ # pkg:gem/mail#lib/mail/message.rb:1435
def has_content_transfer_encoding?; end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1418
+ # pkg:gem/mail#lib/mail/message.rb:1425
def has_content_type?; end
# Returns true if the message has a Date field, the field may or may
@@ -4011,7 +3979,7 @@ class Mail::Message
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1408
+ # pkg:gem/mail#lib/mail/message.rb:1415
def has_date?; end
# Returns true if the message has a message ID field, the field may or may
@@ -4019,15 +3987,15 @@ class Mail::Message
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1402
+ # pkg:gem/mail#lib/mail/message.rb:1409
def has_message_id?; end
- # Returns true if the message has a Mime-Version field, the field may or may
+ # Returns true if the message has a MIME-Version field, the field may or may
# not have a value, but the field exists or not.
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1414
+ # pkg:gem/mail#lib/mail/message.rb:1421
def has_mime_version?; end
# Returns the header object of the message object. Or, if passed
@@ -4042,7 +4010,7 @@ class Mail::Message
# mail.header 'To: mikel\r\nFrom: you'
# mail.header #=> # <#Mail::Header
#
- # pkg:gem/mail#lib/mail/message.rb:428
+ # pkg:gem/mail#lib/mail/message.rb:435
def header=(value); end
# Returns an FieldList of all the fields in the header in the order that
# they appear in the header
#
- # pkg:gem/mail#lib/mail/message.rb:1396
+ # pkg:gem/mail#lib/mail/message.rb:1403
def header_fields; end
# Provides a way to set custom headers, by passing in a hash
#
- # pkg:gem/mail#lib/mail/message.rb:448
+ # pkg:gem/mail#lib/mail/message.rb:455
def headers(hash = T.unsafe(nil)); end
# Accessor for html_part
#
- # pkg:gem/mail#lib/mail/message.rb:1635
+ # pkg:gem/mail#lib/mail/message.rb:1642
def html_part(&block); end
# Helper to add a html part to a multipart/alternative email. If this and
# text_part are both defined in a message, then it will be a multipart/alternative
# message and set itself that way.
#
- # pkg:gem/mail#lib/mail/message.rb:1655
+ # pkg:gem/mail#lib/mail/message.rb:1662
def html_part=(msg); end
- # pkg:gem/mail#lib/mail/message.rb:674
+ # pkg:gem/mail#lib/mail/message.rb:681
def in_reply_to(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:678
+ # pkg:gem/mail#lib/mail/message.rb:685
def in_reply_to=(val); end
# pkg:gem/mail#lib/mail/message.rb:240
@@ -4090,10 +4058,10 @@ class Mail::Message
# pkg:gem/mail#lib/mail/message.rb:236
def inform_observers; end
- # pkg:gem/mail#lib/mail/message.rb:1873
+ # pkg:gem/mail#lib/mail/message.rb:1880
def inspect; end
- # pkg:gem/mail#lib/mail/message.rb:1877
+ # pkg:gem/mail#lib/mail/message.rb:1884
def inspect_structure; end
# Returns whether message will be marked for deletion.
@@ -4108,18 +4076,18 @@ class Mail::Message
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1960
+ # pkg:gem/mail#lib/mail/message.rb:1967
def is_marked_for_delete?; end
- # pkg:gem/mail#lib/mail/message.rb:682
+ # pkg:gem/mail#lib/mail/message.rb:689
def keywords(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:686
+ # pkg:gem/mail#lib/mail/message.rb:693
def keywords=(val); end
# Returns the main content type
#
- # pkg:gem/mail#lib/mail/message.rb:1513
+ # pkg:gem/mail#lib/mail/message.rb:1520
def main_type; end
# Sets whether this message should be deleted at session close (i.e.
@@ -4127,7 +4095,7 @@ class Mail::Message
# using the #find_and_delete method, or by calling #find with
# :delete_after_find set to true.
#
- # pkg:gem/mail#lib/mail/message.rb:1947
+ # pkg:gem/mail#lib/mail/message.rb:1954
def mark_for_delete=(value = T.unsafe(nil)); end
# Returns the Message-ID of the mail object. Note, per RFC 2822 the Message ID
@@ -4144,7 +4112,7 @@ class Mail::Message
# mail.message_id '<1234@message.id>'
# mail.message_id #=> '1234@message.id'
#
- # pkg:gem/mail#lib/mail/message.rb:703
+ # pkg:gem/mail#lib/mail/message.rb:710
def message_id(val = T.unsafe(nil)); end
# Sets the Message-ID. Note, per RFC 2822 the Message ID consists of what is INSIDE
@@ -4153,7 +4121,7 @@ class Mail::Message
# mail.message_id = '<1234@message.id>'
# mail.message_id #=> '1234@message.id'
#
- # pkg:gem/mail#lib/mail/message.rb:712
+ # pkg:gem/mail#lib/mail/message.rb:719
def message_id=(val); end
# Method Missing in this implementation allows you to set any of the
@@ -4196,12 +4164,12 @@ class Mail::Message
# mail.resent_msg_id '<4567@resent_msg_id.lindsaar.net>'
# mail.resent_msg_id #=> '<4567@resent_msg_id.lindsaar.net>'
#
- # pkg:gem/mail#lib/mail/message.rb:1377
+ # pkg:gem/mail#lib/mail/message.rb:1384
def method_missing(name, *args, &block); end
# Returns the MIME media type of part we are on, this is taken from the content-type header
#
- # pkg:gem/mail#lib/mail/message.rb:1492
+ # pkg:gem/mail#lib/mail/message.rb:1499
def mime_type; end
# Returns the MIME version of the email as a string
@@ -4218,7 +4186,7 @@ class Mail::Message
# mail.mime_version '1.0'
# mail.mime_version #=> '1.0'
#
- # pkg:gem/mail#lib/mail/message.rb:729
+ # pkg:gem/mail#lib/mail/message.rb:736
def mime_version(val = T.unsafe(nil)); end
# Sets the MIME version of the email by accepting a string
@@ -4228,21 +4196,21 @@ class Mail::Message
# mail.mime_version = '1.0'
# mail.mime_version #=> '1.0'
#
- # pkg:gem/mail#lib/mail/message.rb:739
+ # pkg:gem/mail#lib/mail/message.rb:746
def mime_version=(val); end
# Returns true if the message is multipart
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1528
+ # pkg:gem/mail#lib/mail/message.rb:1535
def multipart?; end
# Returns true if the message is a multipart/report
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1533
+ # pkg:gem/mail#lib/mail/message.rb:1540
def multipart_report?; end
# Allows you to add a part in block form to an existing mail message object
@@ -4258,12 +4226,12 @@ class Mail::Message
#
# @yield [new_part]
#
- # pkg:gem/mail#lib/mail/message.rb:1722
+ # pkg:gem/mail#lib/mail/message.rb:1729
def part(params = T.unsafe(nil)); end
# Returns a parts list object of all the parts in the message
#
- # pkg:gem/mail#lib/mail/message.rb:1588
+ # pkg:gem/mail#lib/mail/message.rb:1595
def parts; end
# If set to false, mail will go through the motions of doing a delivery,
@@ -4340,7 +4308,7 @@ class Mail::Message
# type field that you can see at the top of any email that has come
# from a mailbox
#
- # pkg:gem/mail#lib/mail/message.rb:410
+ # pkg:gem/mail#lib/mail/message.rb:417
def raw_envelope; end
# Provides access to the raw source of the message as it was when it
@@ -4352,31 +4320,31 @@ class Mail::Message
# mail = Mail.new('This is an invalid email message')
# mail.raw_source #=> "This is an invalid email message"
#
- # pkg:gem/mail#lib/mail/message.rb:397
+ # pkg:gem/mail#lib/mail/message.rb:404
def raw_source; end
- # pkg:gem/mail#lib/mail/message.rb:1899
+ # pkg:gem/mail#lib/mail/message.rb:1906
def read; end
# Encodes the message, calls encode on all its parts, gets an email message
# ready to send
#
- # pkg:gem/mail#lib/mail/message.rb:1791
+ # pkg:gem/mail#lib/mail/message.rb:1798
def ready_to_send!; end
- # pkg:gem/mail#lib/mail/message.rb:743
+ # pkg:gem/mail#lib/mail/message.rb:750
def received(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:751
+ # pkg:gem/mail#lib/mail/message.rb:758
def received=(val); end
- # pkg:gem/mail#lib/mail/message.rb:755
+ # pkg:gem/mail#lib/mail/message.rb:762
def references(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:759
+ # pkg:gem/mail#lib/mail/message.rb:766
def references=(val); end
- # pkg:gem/mail#lib/mail/message.rb:1574
+ # pkg:gem/mail#lib/mail/message.rb:1581
def remote_mta; end
# pkg:gem/mail#lib/mail/message.rb:282
@@ -4408,7 +4376,7 @@ class Mail::Message
# mail.reply_to << 'ada@test.lindsaar.net'
# mail.reply_to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:788
+ # pkg:gem/mail#lib/mail/message.rb:795
def reply_to(val = T.unsafe(nil)); end
# Sets the Reply-To value of the mail object, pass in a string of the field
@@ -4420,7 +4388,7 @@ class Mail::Message
# mail.reply_to = 'Mikel , ada@test.lindsaar.net'
# mail.reply_to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:800
+ # pkg:gem/mail#lib/mail/message.rb:807
def reply_to=(val); end
# Returns the Resent-Bcc value of the mail object as an array of strings of
@@ -4449,7 +4417,7 @@ class Mail::Message
# mail.resent_bcc << 'ada@test.lindsaar.net'
# mail.resent_bcc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:829
+ # pkg:gem/mail#lib/mail/message.rb:836
def resent_bcc(val = T.unsafe(nil)); end
# Sets the Resent-Bcc value of the mail object, pass in a string of the field
@@ -4461,7 +4429,7 @@ class Mail::Message
# mail.resent_bcc = 'Mikel , ada@test.lindsaar.net'
# mail.resent_bcc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:841
+ # pkg:gem/mail#lib/mail/message.rb:848
def resent_bcc=(val); end
# Returns the Resent-Cc value of the mail object as an array of strings of
@@ -4490,7 +4458,7 @@ class Mail::Message
# mail.resent_cc << 'ada@test.lindsaar.net'
# mail.resent_cc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:870
+ # pkg:gem/mail#lib/mail/message.rb:877
def resent_cc(val = T.unsafe(nil)); end
# Sets the Resent-Cc value of the mail object, pass in a string of the field
@@ -4502,13 +4470,13 @@ class Mail::Message
# mail.resent_cc = 'Mikel , ada@test.lindsaar.net'
# mail.resent_cc #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:882
+ # pkg:gem/mail#lib/mail/message.rb:889
def resent_cc=(val); end
- # pkg:gem/mail#lib/mail/message.rb:886
+ # pkg:gem/mail#lib/mail/message.rb:893
def resent_date(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:890
+ # pkg:gem/mail#lib/mail/message.rb:897
def resent_date=(val); end
# Returns the Resent-From value of the mail object as an array of strings of
@@ -4537,7 +4505,7 @@ class Mail::Message
# mail.resent_from << 'ada@test.lindsaar.net'
# mail.resent_from #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:919
+ # pkg:gem/mail#lib/mail/message.rb:926
def resent_from(val = T.unsafe(nil)); end
# Sets the Resent-From value of the mail object, pass in a string of the field
@@ -4549,13 +4517,13 @@ class Mail::Message
# mail.resent_from = 'Mikel , ada@test.lindsaar.net'
# mail.resent_from #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:931
+ # pkg:gem/mail#lib/mail/message.rb:938
def resent_from=(val); end
- # pkg:gem/mail#lib/mail/message.rb:935
+ # pkg:gem/mail#lib/mail/message.rb:942
def resent_message_id(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:939
+ # pkg:gem/mail#lib/mail/message.rb:946
def resent_message_id=(val); end
# Returns the Resent-Sender value of the mail object, as a single string of an address
@@ -4574,7 +4542,7 @@ class Mail::Message
# mail.resent_sender 'Mikel '
# mail.resent_sender #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:958
+ # pkg:gem/mail#lib/mail/message.rb:965
def resent_sender(val = T.unsafe(nil)); end
# Sets the Resent-Sender value of the mail object, pass in a string of the field
@@ -4584,7 +4552,7 @@ class Mail::Message
# mail.resent_sender = 'Mikel '
# mail.resent_sender #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:968
+ # pkg:gem/mail#lib/mail/message.rb:975
def resent_sender=(val); end
# Returns the Resent-To value of the mail object as an array of strings of
@@ -4613,7 +4581,7 @@ class Mail::Message
# mail.resent_to << 'ada@test.lindsaar.net'
# mail.resent_to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:997
+ # pkg:gem/mail#lib/mail/message.rb:1004
def resent_to(val = T.unsafe(nil)); end
# Sets the Resent-To value of the mail object, pass in a string of the field
@@ -4625,22 +4593,22 @@ class Mail::Message
# mail.resent_to = 'Mikel , ada@test.lindsaar.net'
# mail.resent_to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:1009
+ # pkg:gem/mail#lib/mail/message.rb:1016
def resent_to=(val); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1578
+ # pkg:gem/mail#lib/mail/message.rb:1585
def retryable?; end
# Returns the return path of the mail object, or sets it if you pass a string
#
- # pkg:gem/mail#lib/mail/message.rb:1014
+ # pkg:gem/mail#lib/mail/message.rb:1021
def return_path(val = T.unsafe(nil)); end
# Sets the return path of the object
#
- # pkg:gem/mail#lib/mail/message.rb:1019
+ # pkg:gem/mail#lib/mail/message.rb:1026
def return_path=(val); end
# Returns the Sender value of the mail object, as a single string of an address
@@ -4658,7 +4626,7 @@ class Mail::Message
# mail.sender 'Mikel '
# mail.sender #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:1037
+ # pkg:gem/mail#lib/mail/message.rb:1044
def sender(val = T.unsafe(nil)); end
# Sets the Sender value of the mail object, pass in a string of the field
@@ -4668,12 +4636,12 @@ class Mail::Message
# mail.sender = 'Mikel '
# mail.sender #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:1047
+ # pkg:gem/mail#lib/mail/message.rb:1054
def sender=(val); end
# Sets the envelope from for the email
#
- # pkg:gem/mail#lib/mail/message.rb:402
+ # pkg:gem/mail#lib/mail/message.rb:409
def set_envelope(val); end
# Skips the deletion of this message. All other messages
@@ -4681,7 +4649,7 @@ class Mail::Message
# #find exits). Only has an effect if you're using #find_and_delete
# or #find with :delete_after_find set to true.
#
- # pkg:gem/mail#lib/mail/message.rb:1939
+ # pkg:gem/mail#lib/mail/message.rb:1946
def skip_deletion; end
# Returns the SMTP Envelope From value of the mail object, as a single
@@ -4701,7 +4669,7 @@ class Mail::Message
# mail.smtp_envelope_from 'Mikel '
# mail.smtp_envelope_from #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:1067
+ # pkg:gem/mail#lib/mail/message.rb:1074
def smtp_envelope_from(val = T.unsafe(nil)); end
# Sets the From address on the SMTP Envelope.
@@ -4711,7 +4679,7 @@ class Mail::Message
# mail.smtp_envelope_from = 'Mikel '
# mail.smtp_envelope_from #=> 'mikel@test.lindsaar.net'
#
- # pkg:gem/mail#lib/mail/message.rb:1081
+ # pkg:gem/mail#lib/mail/message.rb:1088
def smtp_envelope_from=(val); end
# Returns the SMTP Envelope To value of the mail object.
@@ -4730,7 +4698,7 @@ class Mail::Message
# mail.smtp_envelope_to ['Mikel ', 'Lindsaar ']
# mail.smtp_envelope_to #=> ['mikel@test.lindsaar.net', 'lindsaar@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:1100
+ # pkg:gem/mail#lib/mail/message.rb:1107
def smtp_envelope_to(val = T.unsafe(nil)); end
# Sets the To addresses on the SMTP Envelope.
@@ -4743,12 +4711,12 @@ class Mail::Message
# mail.smtp_envelope_to = ['Mikel ', 'Lindsaar ']
# mail.smtp_envelope_to #=> ['mikel@test.lindsaar.net', 'lindsaar@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:1117
+ # pkg:gem/mail#lib/mail/message.rb:1124
def smtp_envelope_to=(val); end
# Returns the sub content type
#
- # pkg:gem/mail#lib/mail/message.rb:1518
+ # pkg:gem/mail#lib/mail/message.rb:1525
def sub_type; end
# Returns the decoded value of the subject field, as a single string.
@@ -4767,7 +4735,7 @@ class Mail::Message
# mail.subject "G'Day mate"
# mail.subject #=> "G'Day mate"
#
- # pkg:gem/mail#lib/mail/message.rb:1142
+ # pkg:gem/mail#lib/mail/message.rb:1149
def subject(val = T.unsafe(nil)); end
# Sets the Subject value of the mail object, pass in a string of the field
@@ -4777,24 +4745,24 @@ class Mail::Message
# mail.subject = '=?UTF-8?Q?This_is_=E3=81=82_string?='
# mail.subject #=> "This is あ string"
#
- # pkg:gem/mail#lib/mail/message.rb:1152
+ # pkg:gem/mail#lib/mail/message.rb:1159
def subject=(val); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/message.rb:1964
+ # pkg:gem/mail#lib/mail/message.rb:1971
def text?; end
# Accessor for text_part
#
- # pkg:gem/mail#lib/mail/message.rb:1644
+ # pkg:gem/mail#lib/mail/message.rb:1651
def text_part(&block); end
# Helper to add a text part to a multipart/alternative email. If this and
# html_part are both defined in a message, then it will be a multipart/alternative
# message and set itself that way.
#
- # pkg:gem/mail#lib/mail/message.rb:1679
+ # pkg:gem/mail#lib/mail/message.rb:1686
def text_part=(msg); end
# Returns the To value of the mail object as an array of strings of
@@ -4823,7 +4791,7 @@ class Mail::Message
# mail.to << 'ada@test.lindsaar.net'
# mail.to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:1181
+ # pkg:gem/mail#lib/mail/message.rb:1188
def to(val = T.unsafe(nil)); end
# Sets the To value of the mail object, pass in a string of the field
@@ -4835,79 +4803,79 @@ class Mail::Message
# mail.to = 'Mikel , ada@test.lindsaar.net'
# mail.to #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
#
- # pkg:gem/mail#lib/mail/message.rb:1193
+ # pkg:gem/mail#lib/mail/message.rb:1200
def to=(val); end
# Returns an array of addresses (the encoded value) in the To field,
# if no To field, returns an empty array
#
- # pkg:gem/mail#lib/mail/message.rb:1294
+ # pkg:gem/mail#lib/mail/message.rb:1301
def to_addrs; end
- # pkg:gem/mail#lib/mail/message.rb:1869
+ # pkg:gem/mail#lib/mail/message.rb:1876
def to_s; end
- # pkg:gem/mail#lib/mail/message.rb:1823
+ # pkg:gem/mail#lib/mail/message.rb:1830
def to_yaml(opts = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:621
+ # pkg:gem/mail#lib/mail/message.rb:628
def transport_encoding(val = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/message.rb:629
+ # pkg:gem/mail#lib/mail/message.rb:636
def transport_encoding=(val); end
- # pkg:gem/mail#lib/mail/message.rb:1811
+ # pkg:gem/mail#lib/mail/message.rb:1818
def without_attachments!; end
private
- # pkg:gem/mail#lib/mail/message.rb:2067
+ # pkg:gem/mail#lib/mail/message.rb:2074
def add_boundary; end
- # pkg:gem/mail#lib/mail/message.rb:2032
+ # pkg:gem/mail#lib/mail/message.rb:2039
def add_encoding_to_body; end
- # pkg:gem/mail#lib/mail/message.rb:2062
+ # pkg:gem/mail#lib/mail/message.rb:2069
def add_multipart_alternate_header; end
- # pkg:gem/mail#lib/mail/message.rb:2079
+ # pkg:gem/mail#lib/mail/message.rb:2082
def add_multipart_mixed_header; end
- # pkg:gem/mail#lib/mail/message.rb:2048
+ # pkg:gem/mail#lib/mail/message.rb:2055
def add_required_fields; end
- # pkg:gem/mail#lib/mail/message.rb:2056
+ # pkg:gem/mail#lib/mail/message.rb:2063
def add_required_message_fields; end
- # pkg:gem/mail#lib/mail/message.rb:2025
+ # pkg:gem/mail#lib/mail/message.rb:2032
def allowed_encodings; end
# see comments to body=. We take data and process it lazily
#
- # pkg:gem/mail#lib/mail/message.rb:1990
+ # pkg:gem/mail#lib/mail/message.rb:1997
def body_lazy(value); end
- # pkg:gem/mail#lib/mail/message.rb:2152
+ # pkg:gem/mail#lib/mail/message.rb:2155
def decode_body_as_text; end
- # pkg:gem/mail#lib/mail/message.rb:2142
+ # pkg:gem/mail#lib/mail/message.rb:2145
def do_delivery; end
# Returns the filename of the attachment (if it exists) or returns nil
#
- # pkg:gem/mail#lib/mail/message.rb:2124
+ # pkg:gem/mail#lib/mail/message.rb:2127
def find_attachment; end
- # pkg:gem/mail#lib/mail/message.rb:2038
+ # pkg:gem/mail#lib/mail/message.rb:2045
def identify_and_set_transfer_encoding; end
- # pkg:gem/mail#lib/mail/message.rb:2086
+ # pkg:gem/mail#lib/mail/message.rb:2089
def init_with_hash(hash); end
- # pkg:gem/mail#lib/mail/message.rb:2116
+ # pkg:gem/mail#lib/mail/message.rb:2119
def init_with_string(string); end
- # pkg:gem/mail#lib/mail/message.rb:384
+ # pkg:gem/mail#lib/mail/message.rb:391
def initialize_copy(original); end
# 2.1. General Description
@@ -4918,19 +4886,19 @@ class Mail::Message
# follows the header and is separated from the header by an empty line
# (i.e., a line with nothing preceding the CRLF).
#
- # pkg:gem/mail#lib/mail/message.rb:1979
+ # pkg:gem/mail#lib/mail/message.rb:1986
def parse_message; end
- # pkg:gem/mail#lib/mail/message.rb:2005
+ # pkg:gem/mail#lib/mail/message.rb:2012
def process_body_raw; end
- # pkg:gem/mail#lib/mail/message.rb:1985
+ # pkg:gem/mail#lib/mail/message.rb:1992
def raw_source=(value); end
- # pkg:gem/mail#lib/mail/message.rb:2021
+ # pkg:gem/mail#lib/mail/message.rb:2028
def separate_parts; end
- # pkg:gem/mail#lib/mail/message.rb:2013
+ # pkg:gem/mail#lib/mail/message.rb:2020
def set_envelope_header; end
class << self
@@ -4940,18 +4908,18 @@ class Mail::Message
# pkg:gem/mail#lib/mail/message.rb:233
def default_charset=(charset); end
- # pkg:gem/mail#lib/mail/message.rb:1865
+ # pkg:gem/mail#lib/mail/message.rb:1872
def from_hash(hash); end
- # pkg:gem/mail#lib/mail/message.rb:1843
+ # pkg:gem/mail#lib/mail/message.rb:1850
def from_yaml(str); end
end
end
-# pkg:gem/mail#lib/mail/message.rb:1970
+# pkg:gem/mail#lib/mail/message.rb:1977
Mail::Message::HEADER_SEPARATOR = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/mail#lib/mail/message.rb:1770
+# pkg:gem/mail#lib/mail/message.rb:1777
Mail::Message::MULTIPART_CONVERSION_CONTENT_FIELDS = T.let(T.unsafe(nil), Array)
# Only one Message-ID field may appear in a header.
@@ -4969,25 +4937,25 @@ Mail::Message::MULTIPART_CONVERSION_CONTENT_FIELDS = T.let(T.unsafe(nil), Array)
# mail[:message_id].message_id #=> 'F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom'
# mail[:message_id].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
#
-# pkg:gem/mail#lib/mail/fields/message_id_field.rb:21
+# pkg:gem/mail#lib/mail/fields/message_id_field.rb:20
class Mail::MessageIdField < ::Mail::CommonMessageIdField
# @return [MessageIdField] a new instance of MessageIdField
#
- # pkg:gem/mail#lib/mail/fields/message_id_field.rb:28
+ # pkg:gem/mail#lib/mail/fields/message_id_field.rb:27
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/message_id_field.rb:33
+ # pkg:gem/mail#lib/mail/fields/message_id_field.rb:32
def message_ids; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/message_id_field.rb:24
+ # pkg:gem/mail#lib/mail/fields/message_id_field.rb:23
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/message_id_field.rb:22
+# pkg:gem/mail#lib/mail/fields/message_id_field.rb:21
Mail::MessageIdField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/message_ids_element.rb:7
@@ -5034,40 +5002,40 @@ class Mail::MimeVersionElement
def minor; end
end
-# pkg:gem/mail#lib/mail/fields/mime_version_field.rb:7
+# pkg:gem/mail#lib/mail/fields/mime_version_field.rb:6
class Mail::MimeVersionField < ::Mail::NamedStructuredField
# @return [MimeVersionField] a new instance of MimeVersionField
#
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:14
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:13
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:39
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:38
def decoded; end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:19
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:18
def element; end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:35
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:34
def encoded; end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:27
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:26
def major; end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:31
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:30
def minor; end
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:23
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:22
def version; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:10
+ # pkg:gem/mail#lib/mail/fields/mime_version_field.rb:9
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/mime_version_field.rb:8
+# pkg:gem/mail#lib/mail/fields/mime_version_field.rb:7
Mail::MimeVersionField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/multibyte/unicode.rb:3
@@ -5771,19 +5739,19 @@ Mail::Multibyte::Unicode::WHITESPACE = T.let(T.unsafe(nil), Array)
# pkg:gem/mail#lib/mail/multibyte.rb:64
Mail::Multibyte::VALID_CHARACTER = T.let(T.unsafe(nil), Hash)
-# pkg:gem/mail#lib/mail/fields/named_structured_field.rb:6
+# pkg:gem/mail#lib/mail/fields/named_structured_field.rb:5
class Mail::NamedStructuredField < ::Mail::StructuredField
# @return [NamedStructuredField] a new instance of NamedStructuredField
#
- # pkg:gem/mail#lib/mail/fields/named_structured_field.rb:7
+ # pkg:gem/mail#lib/mail/fields/named_structured_field.rb:6
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
end
-# pkg:gem/mail#lib/mail/fields/named_unstructured_field.rb:6
+# pkg:gem/mail#lib/mail/fields/named_unstructured_field.rb:5
class Mail::NamedUnstructuredField < ::Mail::UnstructuredField
# @return [NamedUnstructuredField] a new instance of NamedUnstructuredField
#
- # pkg:gem/mail#lib/mail/fields/named_unstructured_field.rb:7
+ # pkg:gem/mail#lib/mail/fields/named_unstructured_field.rb:6
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
end
@@ -5792,11 +5760,11 @@ end
#
# optional-field = field-name ":" unstructured CRLF
#
-# pkg:gem/mail#lib/mail/fields/optional_field.rb:10
+# pkg:gem/mail#lib/mail/fields/optional_field.rb:9
class Mail::OptionalField < ::Mail::UnstructuredField
private
- # pkg:gem/mail#lib/mail/fields/optional_field.rb:12
+ # pkg:gem/mail#lib/mail/fields/optional_field.rb:11
def do_encode; end
end
@@ -5917,1403 +5885,1403 @@ module Mail::ParserTools
def chars(data, from_bytes, to_bytes); end
end
-# pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:9
+# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:8
module Mail::Parsers; end
-# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:9
module Mail::Parsers::AddressListsParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31951
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31950
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31951
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31950
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31955
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31954
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31955
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31954
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31946
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31945
def error; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31946
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31945
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31942
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31941
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31942
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31941
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31959
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31958
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31938
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31937
def start; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31938
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31937
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31614
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31613
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31614
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:31613
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1300
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1299
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1300
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1299
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1624
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1623
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1624
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:1623
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:976
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:975
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:976
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:975
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30983
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30982
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30983
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30982
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:18
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:17
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:18
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:17
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30352
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30351
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30352
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:30351
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
class Mail::Parsers::AddressListsParser::AddressListStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def addresses; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def addresses=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def group_names; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def group_names=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+# pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
class Mail::Parsers::AddressListsParser::AddressStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def comments; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def comments=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def display_name; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def display_name=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def domain; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def domain=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def error; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def group; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def group=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def local; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def local=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def obs_domain_list; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def obs_domain_list=(_); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def raw; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def raw=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def members; end
- # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:14
+ # pkg:gem/mail#lib/mail/parsers/address_lists_parser.rb:13
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:9
module Mail::Parsers::ContentDispositionParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:556
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:555
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:556
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:555
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:560
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:559
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:560
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:559
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:551
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:550
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:551
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:550
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:547
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:546
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:547
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:546
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:564
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:563
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:543
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:542
def start; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:543
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:542
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:530
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:529
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:530
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:529
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:54
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:53
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:54
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:53
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:67
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:66
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:67
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:66
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:41
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:40
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:41
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:40
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:510
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:509
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:510
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:509
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:490
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:489
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:490
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:489
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
class Mail::Parsers::ContentDispositionParser::ContentDispositionStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def disposition_type; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def disposition_type=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def parameters; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def parameters=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_disposition_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:9
module Mail::Parsers::ContentLocationParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:577
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:576
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:577
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:576
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:581
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:580
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:581
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:580
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:572
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:571
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:572
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:571
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:568
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:567
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:568
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:567
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:585
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:584
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:564
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:563
def start; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:564
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:563
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:551
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:550
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:551
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:550
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:52
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:51
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:52
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:51
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:65
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:64
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:65
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:64
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:39
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:38
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:39
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:38
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:533
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:532
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:533
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:532
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:515
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:514
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:515
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:514
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
class Mail::Parsers::ContentLocationParser::ContentLocationStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def location; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def location=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_location_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:9
module Mail::Parsers::ContentTransferEncodingParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:328
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:327
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:328
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:327
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:332
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:331
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:332
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:331
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:323
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:322
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:323
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:322
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:319
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:318
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:319
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:318
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:336
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:335
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:315
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:314
def start; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:315
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:314
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:304
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:303
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:304
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:303
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:45
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:44
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:45
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:44
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:56
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:55
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:56
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:55
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:34
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:33
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:34
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:33
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:290
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:289
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:290
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:289
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:276
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:275
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:276
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:275
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
class Mail::Parsers::ContentTransferEncodingParser::ContentTransferEncodingStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def encoding; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def encoding=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def error=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_transfer_encoding_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:9
module Mail::Parsers::ContentTypeParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:681
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:680
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:681
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:680
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:685
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:684
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:685
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:684
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:676
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:675
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:676
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:675
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:672
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:671
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:672
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:671
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:689
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:688
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:668
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:667
def start; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:668
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:667
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:654
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:653
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:654
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:653
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:58
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:57
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:58
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:57
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:72
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:71
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:72
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:71
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:44
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:43
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:44
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:43
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:632
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:631
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:632
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:631
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:610
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:609
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:610
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:609
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
class Mail::Parsers::ContentTypeParser::ContentTypeStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def main_type; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def main_type=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def parameters; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def parameters=(_); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def sub_type; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def sub_type=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/content_type_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:9
module Mail::Parsers::DateTimeParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:660
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:659
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:660
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:659
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:664
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:663
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:664
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:663
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:655
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:654
def error; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:655
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:654
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:651
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:650
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:651
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:650
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:668
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:667
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:647
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:646
def start; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:647
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:646
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:626
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:625
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:626
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:625
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:86
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:85
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:86
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:85
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:107
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:106
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:107
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:106
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:65
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:64
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:65
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:64
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:595
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:594
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:595
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:594
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:564
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:563
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:564
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:563
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
class Mail::Parsers::DateTimeParser::DateTimeStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def date_string; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def date_string=(_); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def time_string; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def time_string=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/date_time_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:9
module Mail::Parsers::EnvelopeFromParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3211
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3210
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3211
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3210
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3215
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3214
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3215
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3214
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3206
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3205
def error; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3206
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3205
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3202
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3201
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3202
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3201
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3219
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3218
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3198
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3197
def start; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3198
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3197
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3152
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3151
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3152
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3151
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:185
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:184
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:185
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:184
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:231
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:230
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:231
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:230
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:139
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:138
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:139
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:138
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3077
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3076
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3077
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3076
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3002
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3001
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3002
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:3001
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
class Mail::Parsers::EnvelopeFromParser::EnvelopeFromStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def address; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def address=(_); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def ctime_date; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def ctime_date=(_); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def error=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/envelope_from_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:9
module Mail::Parsers::MessageIdsParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4818
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4817
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4818
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4817
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4822
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4821
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4822
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4821
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4813
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4812
def error; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4813
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4812
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4809
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4808
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4809
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4808
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4826
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4825
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4805
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4804
def start; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4805
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4804
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4755
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4754
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4755
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4754
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:202
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:201
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:202
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:201
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:252
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:251
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:252
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:251
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:152
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:151
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:152
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:151
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4675
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4674
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4675
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4674
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4595
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4594
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4595
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:4594
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
class Mail::Parsers::MessageIdsParser::MessageIdsStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def message_ids; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def message_ids=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/message_ids_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:9
module Mail::Parsers::MimeVersionParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:292
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:291
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:292
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:291
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:296
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:295
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:296
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:295
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:287
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:286
def error; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:287
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:286
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:283
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:282
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:283
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:282
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:300
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:299
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:279
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:278
def start; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:279
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:278
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:268
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:267
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:268
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:267
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:45
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:44
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:45
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:44
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:56
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:55
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:56
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:55
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:34
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:33
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:34
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:33
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:254
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:253
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:254
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:253
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:240
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:239
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:240
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:239
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
class Mail::Parsers::MimeVersionParser::MimeVersionStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def major; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def major=(_); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def minor; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def minor=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/mime_version_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:9
class Mail::Parsers::PhraseListsParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:672
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:671
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:672
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:671
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:676
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:675
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:676
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:675
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:667
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:666
def error; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:667
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:666
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:663
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:662
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:663
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:662
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:680
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:679
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:659
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:658
def start; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:659
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:658
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:646
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:645
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:646
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:645
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:54
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:53
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:54
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:53
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:67
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:66
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:67
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:66
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:41
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:40
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:41
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:40
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:626
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:625
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:626
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:625
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:606
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:605
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:606
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:605
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
class Mail::Parsers::PhraseListsParser::PhraseListsStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def phrases; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def phrases=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/phrase_lists_parser.rb:12
def new(*_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/received_parser.rb:10
+# pkg:gem/mail#lib/mail/parsers/received_parser.rb:9
module Mail::Parsers::ReceivedParser
extend ::Mail::ParserTools
class << self
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7484
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7483
def en_comment_tail; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7484
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7483
def en_comment_tail=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7488
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7487
def en_main; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7488
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7487
def en_main=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7479
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7478
def error; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7479
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7478
def error=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7475
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7474
def first_final; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7475
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7474
def first_final=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7492
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7491
def parse(data); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7471
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7470
def start; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7471
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7470
def start=(_arg0); end
private
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7382
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7381
def _eof_actions; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7382
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7381
def _eof_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:358
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:357
def _index_offsets; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:358
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:357
def _index_offsets=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:447
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:446
def _indicies; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:447
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:446
def _indicies=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:269
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:268
def _key_spans; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:269
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:268
def _key_spans=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7199
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7198
def _trans_actions; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7199
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7198
def _trans_actions=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:15
def _trans_keys; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:16
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:15
def _trans_keys=(_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7016
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7015
def _trans_targs; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7016
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:7015
def _trans_targs=(_arg0); end
end
end
-# pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+# pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
class Mail::Parsers::ReceivedParser::ReceivedStruct < ::Struct
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def date; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def date=(_); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def error; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def error=(_); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def info; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def info=(_); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def time; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def time=(_); end
class << self
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def [](*_arg0); end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def inspect; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def keyword_init?; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def members; end
- # pkg:gem/mail#lib/mail/parsers/received_parser.rb:13
+ # pkg:gem/mail#lib/mail/parsers/received_parser.rb:12
def new(*_arg0); end
end
end
@@ -7486,7 +7454,7 @@ class Mail::PhraseList
def phrases; end
end
-# pkg:gem/mail#lib/mail/mail.rb:241
+# pkg:gem/mail#lib/mail/mail.rb:246
Mail::RANDOM_TAG = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/elements/received_element.rb:8
@@ -7534,30 +7502,30 @@ end
# item-value = 1*angle-addr / addr-spec /
# atom / domain / msg-id
#
-# pkg:gem/mail#lib/mail/fields/received_field.rb:24
+# pkg:gem/mail#lib/mail/fields/received_field.rb:23
class Mail::ReceivedField < ::Mail::NamedStructuredField
- # pkg:gem/mail#lib/mail/fields/received_field.rb:31
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:30
def date_time; end
- # pkg:gem/mail#lib/mail/fields/received_field.rb:27
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:26
def element; end
- # pkg:gem/mail#lib/mail/fields/received_field.rb:39
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:38
def formatted_date; end
- # pkg:gem/mail#lib/mail/fields/received_field.rb:35
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:34
def info; end
private
- # pkg:gem/mail#lib/mail/fields/received_field.rb:54
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:53
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/received_field.rb:46
+ # pkg:gem/mail#lib/mail/fields/received_field.rb:45
def do_encode; end
end
-# pkg:gem/mail#lib/mail/fields/received_field.rb:25
+# pkg:gem/mail#lib/mail/fields/received_field.rb:24
Mail::ReceivedField::NAME = T.let(T.unsafe(nil), String)
# = References Field
@@ -7586,22 +7554,22 @@ Mail::ReceivedField::NAME = T.let(T.unsafe(nil), String)
#
# mail[:references].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
#
-# pkg:gem/mail#lib/mail/fields/references_field.rb:31
+# pkg:gem/mail#lib/mail/fields/references_field.rb:30
class Mail::ReferencesField < ::Mail::CommonMessageIdField
# @return [ReferencesField] a new instance of ReferencesField
#
- # pkg:gem/mail#lib/mail/fields/references_field.rb:38
+ # pkg:gem/mail#lib/mail/fields/references_field.rb:37
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/references_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/references_field.rb:33
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/references_field.rb:32
+# pkg:gem/mail#lib/mail/fields/references_field.rb:31
Mail::ReferencesField::NAME = T.let(T.unsafe(nil), String)
# = Reply-To Field
@@ -7630,10 +7598,10 @@ Mail::ReferencesField::NAME = T.let(T.unsafe(nil), String)
# mail[:reply_to].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:reply_to].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/reply_to_field.rb:31
+# pkg:gem/mail#lib/mail/fields/reply_to_field.rb:30
class Mail::ReplyToField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/reply_to_field.rb:32
+# pkg:gem/mail#lib/mail/fields/reply_to_field.rb:31
Mail::ReplyToField::NAME = T.let(T.unsafe(nil), String)
# = Resent-Bcc Field
@@ -7662,10 +7630,10 @@ Mail::ReplyToField::NAME = T.let(T.unsafe(nil), String)
# mail[:resent_bcc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:resent_bcc].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/resent_bcc_field.rb:31
+# pkg:gem/mail#lib/mail/fields/resent_bcc_field.rb:30
class Mail::ResentBccField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/resent_bcc_field.rb:32
+# pkg:gem/mail#lib/mail/fields/resent_bcc_field.rb:31
Mail::ResentBccField::NAME = T.let(T.unsafe(nil), String)
# = Resent-Cc Field
@@ -7694,18 +7662,18 @@ Mail::ResentBccField::NAME = T.let(T.unsafe(nil), String)
# mail[:resent_cc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:resent_cc].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/resent_cc_field.rb:31
+# pkg:gem/mail#lib/mail/fields/resent_cc_field.rb:30
class Mail::ResentCcField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/resent_cc_field.rb:32
+# pkg:gem/mail#lib/mail/fields/resent_cc_field.rb:31
Mail::ResentCcField::NAME = T.let(T.unsafe(nil), String)
# resent-date = "Resent-Date:" date-time CRLF
#
-# pkg:gem/mail#lib/mail/fields/resent_date_field.rb:8
+# pkg:gem/mail#lib/mail/fields/resent_date_field.rb:7
class Mail::ResentDateField < ::Mail::CommonDateField; end
-# pkg:gem/mail#lib/mail/fields/resent_date_field.rb:9
+# pkg:gem/mail#lib/mail/fields/resent_date_field.rb:8
Mail::ResentDateField::NAME = T.let(T.unsafe(nil), String)
# = Resent-From Field
@@ -7734,18 +7702,18 @@ Mail::ResentDateField::NAME = T.let(T.unsafe(nil), String)
# mail[:resent_from].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:resent_from].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/resent_from_field.rb:31
+# pkg:gem/mail#lib/mail/fields/resent_from_field.rb:30
class Mail::ResentFromField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/resent_from_field.rb:32
+# pkg:gem/mail#lib/mail/fields/resent_from_field.rb:31
Mail::ResentFromField::NAME = T.let(T.unsafe(nil), String)
# resent-msg-id = "Resent-Message-ID:" msg-id CRLF
#
-# pkg:gem/mail#lib/mail/fields/resent_message_id_field.rb:8
+# pkg:gem/mail#lib/mail/fields/resent_message_id_field.rb:7
class Mail::ResentMessageIdField < ::Mail::CommonMessageIdField; end
-# pkg:gem/mail#lib/mail/fields/resent_message_id_field.rb:9
+# pkg:gem/mail#lib/mail/fields/resent_message_id_field.rb:8
Mail::ResentMessageIdField::NAME = T.let(T.unsafe(nil), String)
# = Resent-Sender Field
@@ -7773,10 +7741,10 @@ Mail::ResentMessageIdField::NAME = T.let(T.unsafe(nil), String)
# mail.resent_sender.addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail.resent_sender.formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/resent_sender_field.rb:30
+# pkg:gem/mail#lib/mail/fields/resent_sender_field.rb:29
class Mail::ResentSenderField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/resent_sender_field.rb:31
+# pkg:gem/mail#lib/mail/fields/resent_sender_field.rb:30
Mail::ResentSenderField::NAME = T.let(T.unsafe(nil), String)
# = Resent-To Field
@@ -7805,10 +7773,10 @@ Mail::ResentSenderField::NAME = T.let(T.unsafe(nil), String)
# mail[:resent_to].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:resent_to].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/resent_to_field.rb:31
+# pkg:gem/mail#lib/mail/fields/resent_to_field.rb:30
class Mail::ResentToField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/resent_to_field.rb:32
+# pkg:gem/mail#lib/mail/fields/resent_to_field.rb:31
Mail::ResentToField::NAME = T.let(T.unsafe(nil), String)
# pkg:gem/mail#lib/mail/network/retriever_methods/base.rb:6
@@ -7881,33 +7849,33 @@ end
# item-value = 1*angle-addr / addr-spec /
# atom / domain / msg-id
#
-# pkg:gem/mail#lib/mail/fields/return_path_field.rb:33
+# pkg:gem/mail#lib/mail/fields/return_path_field.rb:32
class Mail::ReturnPathField < ::Mail::CommonAddressField
# @return [ReturnPathField] a new instance of ReturnPathField
#
- # pkg:gem/mail#lib/mail/fields/return_path_field.rb:40
+ # pkg:gem/mail#lib/mail/fields/return_path_field.rb:39
def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/return_path_field.rb:48
+ # pkg:gem/mail#lib/mail/fields/return_path_field.rb:47
def default; end
private
- # pkg:gem/mail#lib/mail/fields/return_path_field.rb:57
+ # pkg:gem/mail#lib/mail/fields/return_path_field.rb:56
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/return_path_field.rb:53
+ # pkg:gem/mail#lib/mail/fields/return_path_field.rb:52
def do_encode; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/return_path_field.rb:36
+ # pkg:gem/mail#lib/mail/fields/return_path_field.rb:35
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/return_path_field.rb:34
+# pkg:gem/mail#lib/mail/fields/return_path_field.rb:33
Mail::ReturnPathField::NAME = T.let(T.unsafe(nil), String)
# == Sending Email with SMTP
@@ -7930,7 +7898,7 @@ Mail::ReturnPathField::NAME = T.let(T.unsafe(nil), String)
# :user_name => '',
# :password => '',
# :authentication => 'plain',
-# :enable_starttls_auto => true }
+# :enable_starttls => :auto }
# end
#
# === Sending via GMail
@@ -7942,9 +7910,17 @@ Mail::ReturnPathField::NAME = T.let(T.unsafe(nil), String)
# :user_name => '',
# :password => '',
# :authentication => 'plain',
-# :enable_starttls_auto => true }
+# :enable_starttls => :auto }
# end
#
+# === Configuring TLS/SSL and STARTTLS
+#
+# A few remarks:
+# - when enabling `tls` (or `ssl`), setting (truthy values for) either `enable_starttls` or `enable_starttls_auto` will raise an ArgumentError as TLS and STARTTLS are mutually exclusive.
+# - to configure STARTTLS, use the `enable_starttls`-flag (instead of a combination of `enable_starttls` and `enable_starttls_auto`). Acceptable values are `:always`, `:auto` and `false`.
+# - when providing a truthy value for `enable_starttls`, the `enable_starttls_auto`-flag will be ignored.
+# - when none of `tls`, `ssl`, `enable_starttls` or `enable_starttls_auto` is set, the fallback will be `enable_starttls` `:auto`.
+#
# === Certificate verification
#
# When using TLS, some mail servers provide certificates that are self-signed
@@ -7982,44 +7958,64 @@ Mail::ReturnPathField::NAME = T.let(T.unsafe(nil), String)
#
# mail.deliver!
#
-# pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:76
+# pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:84
class Mail::SMTP
# @return [SMTP] a new instance of SMTP
#
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:95
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:103
def initialize(values); end
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:99
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:107
def deliver!(mail); end
# Returns the value of attribute settings.
#
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:77
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:85
def settings; end
# Sets the attribute settings
#
# @param value the value to set the attribute settings to.
#
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:77
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:85
def settings=(_arg0); end
private
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:112
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:157
def build_smtp_session; end
+ # `k` is said to be provided when `settings` has a non-nil value for `k`.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:117
+ def setting_provided?(k); end
+
+ # Yields one of `:always`, `:auto` or `false` based on `enable_starttls` and `enable_starttls_auto` flags.
+ # Yields `false` when `smtp_tls?`.
+ # Else defaults to `:auto` when neither `enable_starttls*` flag is provided.
+ # Providing a truthy value for `enable_starttls` will ignore `enable_starttls_auto`.
+ #
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:125
+ def smtp_starttls; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:149
+ def smtp_tls?; end
+
# Allow SSL context to be configured via settings, for Ruby >= 1.9
# Just returns openssl verify mode for Ruby 1.8.x
#
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:151
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:186
def ssl_context; end
- # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:108
+ # pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:153
def start_smtp_session(&block); end
end
-# pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:79
+# pkg:gem/mail#lib/mail/network/delivery_methods/smtp.rb:87
Mail::SMTP::DEFAULTS = T.let(T.unsafe(nil), Hash)
# == Sending Email with SMTP
@@ -8123,23 +8119,23 @@ end
# mail[:sender].addresses #=> ['mikel@test.lindsaar.net']
# mail[:sender].formatted #=> ['Mikel Lindsaar ']
#
-# pkg:gem/mail#lib/mail/fields/sender_field.rb:31
+# pkg:gem/mail#lib/mail/fields/sender_field.rb:30
class Mail::SenderField < ::Mail::CommonAddressField
- # pkg:gem/mail#lib/mail/fields/sender_field.rb:42
+ # pkg:gem/mail#lib/mail/fields/sender_field.rb:41
def addresses; end
- # pkg:gem/mail#lib/mail/fields/sender_field.rb:38
+ # pkg:gem/mail#lib/mail/fields/sender_field.rb:37
def default; end
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/sender_field.rb:34
+ # pkg:gem/mail#lib/mail/fields/sender_field.rb:33
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/sender_field.rb:32
+# pkg:gem/mail#lib/mail/fields/sender_field.rb:31
Mail::SenderField::NAME = T.let(T.unsafe(nil), String)
# A delivery method implementation which sends via sendmail.
@@ -8180,15 +8176,16 @@ Mail::SenderField::NAME = T.let(T.unsafe(nil), String)
#
# pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:40
class Mail::Sendmail
+ # @raise [ArgumentError]
# @return [Sendmail] a new instance of Sendmail
#
# pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:51
def initialize(values); end
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:64
+ # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:60
def deliver!(mail); end
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:60
+ # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:56
def destinations_for(envelope); end
# Returns the value of attribute settings.
@@ -8205,28 +8202,8 @@ class Mail::Sendmail
private
- # - support for delivery using string arguments
- #
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:129
- def deprecation_warn; end
-
- # + support for delivery using string arguments (deprecated)
- #
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:97
- def old_deliver(envelope); end
-
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:88
+ # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:79
def popen(command, &block); end
-
- # The following is an adaptation of ruby 1.9.2's shellwords.rb file,
- # with the following modifications:
- #
- # - Wraps in double quotes
- # - Allows '+' to accept email addresses with them
- # - Allows '~' as it is not unescaped in double quotes
- #
- # pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:118
- def shellquote(address); end
end
# pkg:gem/mail#lib/mail/network/delivery_methods/sendmail.rb:41
@@ -8296,22 +8273,22 @@ Mail::SmtpEnvelope::MAX_ADDRESS_BYTESIZE = T.let(T.unsafe(nil), Integer)
# described in section 2.2.3. Semantic analysis of structured field
# bodies is given along with their syntax.
#
-# pkg:gem/mail#lib/mail/fields/structured_field.rb:23
+# pkg:gem/mail#lib/mail/fields/structured_field.rb:22
class Mail::StructuredField < ::Mail::CommonField; end
# subject = "Subject:" unstructured CRLF
#
-# pkg:gem/mail#lib/mail/fields/subject_field.rb:8
+# pkg:gem/mail#lib/mail/fields/subject_field.rb:7
class Mail::SubjectField < ::Mail::NamedUnstructuredField
class << self
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/fields/subject_field.rb:11
+ # pkg:gem/mail#lib/mail/fields/subject_field.rb:10
def singular?; end
end
end
-# pkg:gem/mail#lib/mail/fields/subject_field.rb:9
+# pkg:gem/mail#lib/mail/fields/subject_field.rb:8
Mail::SubjectField::NAME = T.let(T.unsafe(nil), String)
# The TestMailer is a bare bones mailer that does nothing. It is useful
@@ -8410,10 +8387,10 @@ end
# mail[:to].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
# mail[:to].formatted #=> ['Mikel Lindsaar ', 'ada@test.lindsaar.net']
#
-# pkg:gem/mail#lib/mail/fields/to_field.rb:31
+# pkg:gem/mail#lib/mail/fields/to_field.rb:30
class Mail::ToField < ::Mail::CommonAddressField; end
-# pkg:gem/mail#lib/mail/fields/to_field.rb:32
+# pkg:gem/mail#lib/mail/fields/to_field.rb:31
Mail::ToField::NAME = T.let(T.unsafe(nil), String)
# Raised when attempting to decode an unknown encoding type
@@ -8434,36 +8411,36 @@ class Mail::UnknownEncodingType < ::StandardError; end
# with no further processing (except for header "folding" and
# "unfolding" as described in section 2.2.3).
#
-# pkg:gem/mail#lib/mail/fields/unstructured_field.rb:19
+# pkg:gem/mail#lib/mail/fields/unstructured_field.rb:18
class Mail::UnstructuredField < ::Mail::CommonField
# @return [UnstructuredField] a new instance of UnstructuredField
#
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:20
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:19
def initialize(name, value, charset = T.unsafe(nil)); end
# An unstructured field does not parse
#
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:40
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:39
def parse; end
private
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:54
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:53
def do_decode; end
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:46
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:45
def do_encode; end
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:169
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:168
def encode(value); end
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:180
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:179
def encode_crlf(value); end
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:102
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:101
def fold(prepend = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:186
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:185
def normalized_encoding; end
# 6.2. Display of 'encoded-word's
@@ -8475,7 +8452,7 @@ class Mail::UnstructuredField < ::Mail::CommonField
# without having to separate 'encoded-word's where spaces occur in the
# unencoded text.)
#
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:96
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:95
def wrap_lines(name, folded_lines); end
# 2.2.3. Long Header Fields
@@ -8505,7 +8482,7 @@ class Mail::UnstructuredField < ::Mail::CommonField
# preference to other places where the field could be folded, even if
# it is allowed elsewhere.
#
- # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:84
+ # pkg:gem/mail#lib/mail/fields/unstructured_field.rb:83
def wrapped_value; end
end
@@ -8528,7 +8505,7 @@ module Mail::Utilities
#
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/utilities.rb:283
+ # pkg:gem/mail#lib/mail/utilities.rb:287
def blank?(value); end
# Wraps a string in angle brackets and escapes any that are in the string itself
@@ -8547,7 +8524,7 @@ module Mail::Utilities
# string = 'resent-from-field'
# capitalize_field( string ) #=> 'Resent-From-Field'
#
- # pkg:gem/mail#lib/mail/utilities.rb:188
+ # pkg:gem/mail#lib/mail/utilities.rb:192
def capitalize_field(str); end
# Takes an underscored word and turns it into a class name
@@ -8558,7 +8535,7 @@ module Mail::Utilities
# constantize("hello-there") #=> "HelloThere"
# constantize("hello-there-mate") #=> "HelloThereMate"
#
- # pkg:gem/mail#lib/mail/utilities.rb:199
+ # pkg:gem/mail#lib/mail/utilities.rb:203
def constantize(str); end
# Swaps out all underscores (_) for hyphens (-) good for stringing from symbols
@@ -8569,7 +8546,7 @@ module Mail::Utilities
# string = :resent_from_field
# dasherize( string ) #=> 'resent-from-field'
#
- # pkg:gem/mail#lib/mail/utilities.rb:210
+ # pkg:gem/mail#lib/mail/utilities.rb:214
def dasherize(str); end
# Wraps supplied string in double quotes and applies \-escaping as necessary,
@@ -8596,13 +8573,13 @@ module Mail::Utilities
# pkg:gem/mail#lib/mail/utilities.rb:155
def escape_paren(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:293
+ # pkg:gem/mail#lib/mail/utilities.rb:297
def generate_message_id; end
- # pkg:gem/mail#lib/mail/utilities.rb:225
+ # pkg:gem/mail#lib/mail/utilities.rb:229
def map_lines(str, &block); end
- # pkg:gem/mail#lib/mail/utilities.rb:229
+ # pkg:gem/mail#lib/mail/utilities.rb:233
def map_with_index(enum, &block); end
# Matches two objects with their to_s values case insensitively
@@ -8613,7 +8590,7 @@ module Mail::Utilities
# obj1 = :this_IS_an_object
# match_to_s( obj1, obj2 ) #=> true
#
- # pkg:gem/mail#lib/mail/utilities.rb:178
+ # pkg:gem/mail#lib/mail/utilities.rb:182
def match_to_s(obj1, obj2); end
# Wraps a string in parenthesis and escapes any that are in the string itself.
@@ -8668,7 +8645,7 @@ module Mail::Utilities
# string = :resent_from_field
# underscoreize ( string ) #=> 'resent_from_field'
#
- # pkg:gem/mail#lib/mail/utilities.rb:221
+ # pkg:gem/mail#lib/mail/utilities.rb:225
def underscoreize(str); end
# Removes any \-escaping.
@@ -8718,71 +8695,71 @@ module Mail::Utilities
def uri_unescape(str); end
class << self
- # pkg:gem/mail#lib/mail/utilities.rb:414
+ # pkg:gem/mail#lib/mail/utilities.rb:418
def b_value_decode(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:409
+ # pkg:gem/mail#lib/mail/utilities.rb:413
def b_value_encode(str, encoding = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/utilities.rb:243
+ # pkg:gem/mail#lib/mail/utilities.rb:247
def binary_unsafe_to_crlf(string); end
- # pkg:gem/mail#lib/mail/utilities.rb:233
+ # pkg:gem/mail#lib/mail/utilities.rb:237
def binary_unsafe_to_lf(string); end
- # pkg:gem/mail#lib/mail/utilities.rb:356
+ # pkg:gem/mail#lib/mail/utilities.rb:360
def bracket(str); end
# Returns the value of attribute charset_encoder.
#
- # pkg:gem/mail#lib/mail/utilities.rb:334
+ # pkg:gem/mail#lib/mail/utilities.rb:338
def charset_encoder; end
# Sets the attribute charset_encoder
#
# @param value the value to set the attribute charset_encoder to.
#
- # pkg:gem/mail#lib/mail/utilities.rb:334
+ # pkg:gem/mail#lib/mail/utilities.rb:338
def charset_encoder=(_arg0); end
- # pkg:gem/mail#lib/mail/utilities.rb:362
+ # pkg:gem/mail#lib/mail/utilities.rb:366
def decode_base64(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:399
+ # pkg:gem/mail#lib/mail/utilities.rb:403
def decode_utf7(utf7); end
- # pkg:gem/mail#lib/mail/utilities.rb:369
+ # pkg:gem/mail#lib/mail/utilities.rb:373
def encode_base64(str); end
# From Ruby stdlib Net::IMAP
#
- # pkg:gem/mail#lib/mail/utilities.rb:388
+ # pkg:gem/mail#lib/mail/utilities.rb:392
def encode_utf7(string); end
- # pkg:gem/mail#lib/mail/utilities.rb:351
+ # pkg:gem/mail#lib/mail/utilities.rb:355
def escape_bracket(str); end
# Escapes any parenthesis in a string that are unescaped this uses
# a Ruby 1.9.1 regexp feature of negative look behind
#
- # pkg:gem/mail#lib/mail/utilities.rb:340
+ # pkg:gem/mail#lib/mail/utilities.rb:344
def escape_paren(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:377
+ # pkg:gem/mail#lib/mail/utilities.rb:381
def get_constant(klass, string); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/utilities.rb:373
+ # pkg:gem/mail#lib/mail/utilities.rb:377
def has_constant?(klass, string); end
- # pkg:gem/mail#lib/mail/utilities.rb:451
+ # pkg:gem/mail#lib/mail/utilities.rb:455
def param_decode(str, encoding); end
- # pkg:gem/mail#lib/mail/utilities.rb:460
+ # pkg:gem/mail#lib/mail/utilities.rb:464
def param_encode(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:345
+ # pkg:gem/mail#lib/mail/utilities.rb:349
def paren(str); end
# Pick a Ruby encoding corresponding to the message charset. Most
@@ -8792,70 +8769,70 @@ module Mail::Utilities
# Encoding.list.map { |e| [e.to_s.upcase == pick_encoding(e.to_s.downcase.gsub("-", "")), e.to_s] }.select {|a,b| !b}
# Encoding.list.map { |e| [e.to_s == pick_encoding(e.to_s), e.to_s] }.select {|a,b| !b}
#
- # pkg:gem/mail#lib/mail/utilities.rb:476
+ # pkg:gem/mail#lib/mail/utilities.rb:480
def pick_encoding(charset); end
- # pkg:gem/mail#lib/mail/utilities.rb:432
+ # pkg:gem/mail#lib/mail/utilities.rb:436
def q_value_decode(str); end
- # pkg:gem/mail#lib/mail/utilities.rb:427
+ # pkg:gem/mail#lib/mail/utilities.rb:431
def q_value_encode(str, encoding = T.unsafe(nil)); end
# @return [Boolean]
#
- # pkg:gem/mail#lib/mail/utilities.rb:247
+ # pkg:gem/mail#lib/mail/utilities.rb:251
def safe_for_line_ending_conversion?(string); end
- # pkg:gem/mail#lib/mail/utilities.rb:536
+ # pkg:gem/mail#lib/mail/utilities.rb:540
def string_byteslice(str, *args); end
# Convert line endings to \r\n unless the string is binary. Used for
# encoding 8bit and base64 Content-Transfer-Encoding and for convenience
# when parsing emails with \n line endings instead of the required \r\n.
#
- # pkg:gem/mail#lib/mail/utilities.rb:269
+ # pkg:gem/mail#lib/mail/utilities.rb:273
def to_crlf(string); end
# Convert line endings to \n unless the string is binary. Used for
# sendmail delivery and for decoding 8bit Content-Transfer-Encoding.
#
- # pkg:gem/mail#lib/mail/utilities.rb:257
+ # pkg:gem/mail#lib/mail/utilities.rb:261
def to_lf(string); end
- # pkg:gem/mail#lib/mail/utilities.rb:381
+ # pkg:gem/mail#lib/mail/utilities.rb:385
def transcode_charset(str, from_encoding, to_encoding = T.unsafe(nil)); end
- # pkg:gem/mail#lib/mail/utilities.rb:466
+ # pkg:gem/mail#lib/mail/utilities.rb:470
def uri_parser; end
private
- # pkg:gem/mail#lib/mail/utilities.rb:543
+ # pkg:gem/mail#lib/mail/utilities.rb:547
def convert_to_encoding(encoding); end
- # pkg:gem/mail#lib/mail/utilities.rb:556
+ # pkg:gem/mail#lib/mail/utilities.rb:560
def transcode_to_scrubbed_utf8(str); end
end
end
-# pkg:gem/mail#lib/mail/utilities.rb:308
+# pkg:gem/mail#lib/mail/utilities.rb:312
class Mail::Utilities::BestEffortCharsetEncoder
- # pkg:gem/mail#lib/mail/utilities.rb:309
+ # pkg:gem/mail#lib/mail/utilities.rb:313
def encode(string, charset); end
private
- # pkg:gem/mail#lib/mail/utilities.rb:320
+ # pkg:gem/mail#lib/mail/utilities.rb:324
def pick_encoding(charset); end
end
-# pkg:gem/mail#lib/mail/utilities.rb:297
+# pkg:gem/mail#lib/mail/utilities.rb:301
class Mail::Utilities::StrictCharsetEncoder
- # pkg:gem/mail#lib/mail/utilities.rb:298
+ # pkg:gem/mail#lib/mail/utilities.rb:302
def encode(string, charset); end
end
-# pkg:gem/mail#lib/mail/utilities.rb:237
+# pkg:gem/mail#lib/mail/utilities.rb:241
Mail::Utilities::TO_CRLF_REGEX = T.let(T.unsafe(nil), Regexp)
# pkg:gem/mail#lib/mail/version.rb:3
diff --git a/sorbet/rbi/gems/marcel@1.0.4.rbi b/sorbet/rbi/gems/marcel@1.1.0.rbi
similarity index 97%
rename from sorbet/rbi/gems/marcel@1.0.4.rbi
rename to sorbet/rbi/gems/marcel@1.1.0.rbi
index 0b0cb39cf..a0d38547b 100644
--- a/sorbet/rbi/gems/marcel@1.0.4.rbi
+++ b/sorbet/rbi/gems/marcel@1.1.0.rbi
@@ -18,7 +18,7 @@ Marcel::EXTENSIONS = T.let(T.unsafe(nil), Hash)
# @private
#
-# pkg:gem/marcel#lib/marcel/tables.rb:2394
+# pkg:gem/marcel#lib/marcel/tables.rb:2513
Marcel::MAGIC = T.let(T.unsafe(nil), Array)
# Mime type detection
@@ -227,12 +227,12 @@ Marcel::MimeType::BINARY = T.let(T.unsafe(nil), String)
# @private
#
-# pkg:gem/marcel#lib/marcel/tables.rb:1260
+# pkg:gem/marcel#lib/marcel/tables.rb:1310
Marcel::TYPE_EXTS = T.let(T.unsafe(nil), Hash)
# Cooltalk Audio
#
-# pkg:gem/marcel#lib/marcel/tables.rb:2151
+# pkg:gem/marcel#lib/marcel/tables.rb:2239
Marcel::TYPE_PARENTS = T.let(T.unsafe(nil), Hash)
# pkg:gem/marcel#lib/marcel/version.rb:4
diff --git a/sorbet/rbi/gems/net-imap@0.5.7.rbi b/sorbet/rbi/gems/net-imap@0.5.7.rbi
deleted file mode 100644
index 0cd08c394..000000000
--- a/sorbet/rbi/gems/net-imap@0.5.7.rbi
+++ /dev/null
@@ -1,3712 +0,0 @@
-# typed: false
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `net-imap` gem.
-# Please instead update this file by running `bin/tapioca gem net-imap`.
-
-
-# pkg:gem/net-imap#lib/net/imap.rb:790
-class Net::IMAP < ::Net::Protocol
- include ::MonitorMixin
- include ::OpenSSL
- include ::OpenSSL::SSL
-
- # pkg:gem/net-imap#lib/net/imap.rb:1065
- def initialize(host, port: T.unsafe(nil), ssl: T.unsafe(nil), response_handlers: T.unsafe(nil), config: T.unsafe(nil), **config_options); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3299
- def add_response_handler(handler = T.unsafe(nil), &block); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2018
- def append(mailbox, message, flags = T.unsafe(nil), date_time = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1213
- def auth_capable?(mechanism); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1196
- def auth_mechanisms; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1508
- def authenticate(*args, sasl_ir: T.unsafe(nil), **props, &callback); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1172
- def capabilities; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1223
- def capabilities_cached?; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1261
- def capability; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1159
- def capability?(capability); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1158
- def capable?(capability); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2034
- def check; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1236
- def clear_cached_capabilities; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3228
- def clear_responses(type = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2044
- def close; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:848
- def config; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:953
- def connection_state; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2773
- def copy(set, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1618
- def create(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1630
- def delete(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1118
- def disconnect; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1144
- def disconnected?; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3003
- def enable(*capabilities); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1600
- def examine(mailbox, condstore: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2092
- def expunge; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3252
- def extract_responses(type); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2617
- def fetch(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1898
- def getacl(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1842
- def getquota(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1821
- def getquotaroot(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:842
- def greeting; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:874
- def host; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1290
- def id(client_id = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3047
- def idle(timeout = T.unsafe(nil), &response_handler); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3083
- def idle_done; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:868
- def idle_response_timeout; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1702
- def list(refname, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1539
- def login(user, password); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1318
- def logout; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1335
- def logout!; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1913
- def lsub(refname, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:869
- def max_response_size; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:870
- def max_response_size=(val); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2814
- def move(set, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1759
- def namespace; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1309
- def noop; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:867
- def open_timeout; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:877
- def port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3309
- def remove_response_handler(handler); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1643
- def rename(mailbox, newname); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3278
- def response_handlers; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3194
- def responses(type = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2536
- def search(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1580
- def select(mailbox, condstore: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1880
- def setacl(mailbox, user, rights); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1860
- def setquota(mailbox, quota); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2862
- def sort(sort_keys, search_keys, charset); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:885
- def ssl_ctx; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:892
- def ssl_ctx_params; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1379
- def starttls(**options); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1980
- def status(mailbox, attr); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2729
- def store(set, attr, flags, unchangedsince: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1655
- def subscribe(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2902
- def thread(algorithm, search_keys, charset); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1113
- def tls_verified?; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2789
- def uid_copy(set, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2122
- def uid_expunge(uid_set); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2679
- def uid_fetch(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2836
- def uid_move(set, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2563
- def uid_search(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2877
- def uid_sort(sort_keys, search_keys, charset); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2752
- def uid_store(set, attr, flags, unchangedsince: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2916
- def uid_thread(algorithm, search_keys, charset); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:2061
- def unselect; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1668
- def unsubscribe(mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:1803
- def xlist(refname, mailbox); end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap.rb:3750
- def build_ssl_ctx(ssl); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3486
- def capabilities_from_resp_code(resp); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3732
- def coerce_search_arg_to_seqset?(obj); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3741
- def coerce_search_array_arg_to_seqset?(obj); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3617
- def convert_return_opts(unconverted); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3701
- def copy_internal(cmd, set, mailbox); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3555
- def enforce_logindisabled?; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3563
- def expunge_internal(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3658
- def fetch_internal(cmd, set, attr, mod = T.unsafe(nil), partial: T.unsafe(nil), changedsince: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3535
- def generate_tag; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3462
- def get_response; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3332
- def get_server_greeting; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3434
- def get_tagged_response(tag, cmd, timeout = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3721
- def normalize_searching_criteria(criteria); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3540
- def put_string(str); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3363
- def receive_responses; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3473
- def record_untagged_response(resp); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3479
- def record_untagged_response_code(resp); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3803
- def sasl_adapter; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3583
- def search_args(keys, charset_arg = T.unsafe(nil), return: T.unsafe(nil), charset: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3632
- def search_internal(cmd, *_arg1, **_arg2, &_arg3); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3507
- def send_command(cmd, *args, &block); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3690
- def send_command_returning_fetch_results(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3498
- def send_command_with_continuations(cmd, *args); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3705
- def sort_internal(cmd, sort_keys, search_keys, charset); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3321
- def start_imap_connection; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3343
- def start_receiver_thread; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3765
- def start_tls_session; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3780
- def state_authenticated!(resp = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3797
- def state_logout!; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3787
- def state_selected!; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3793
- def state_unselected!; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3682
- def store_internal(cmd, set, attr, flags, unchangedsince: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3354
- def tcp_socket(host, port); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3713
- def thread_internal(cmd, algorithm, search_keys, charset); end
-
- class << self
- # pkg:gem/net-imap#lib/net/imap.rb:813
- def config; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:817
- def debug; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:821
- def debug=(val); end
-
- # pkg:gem/net-imap#lib/net/imap.rb:836
- def default_imap_port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:837
- def default_imaps_port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:826
- def default_port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:838
- def default_ssl_port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:831
- def default_tls_port; end
-
- # pkg:gem/net-imap#lib/net/imap.rb:3813
- def saslprep(string, **opts); end
- end
-end
-
-# Net::IMAP::Config (available since +v0.4.13+) stores
-# configuration options for Net::IMAP clients. The global configuration can
-# be seen at either Net::IMAP.config or Net::IMAP::Config.global, and the
-# client-specific configuration can be seen at Net::IMAP#config.
-#
-# When creating a new client, all unhandled keyword arguments to
-# Net::IMAP.new are delegated to Config.new. Every client has its own
-# config.
-#
-# debug_client = Net::IMAP.new(hostname, debug: true)
-# quiet_client = Net::IMAP.new(hostname, debug: false)
-# debug_client.config.debug? # => true
-# quiet_client.config.debug? # => false
-#
-# == Inheritance
-#
-# Configs have a parent[rdoc-ref:Config::AttrInheritance#parent] config, and
-# any attributes which have not been set locally will inherit the parent's
-# value. Every client creates its own specific config. By default, client
-# configs inherit from Config.global.
-#
-# plain_client = Net::IMAP.new(hostname)
-# debug_client = Net::IMAP.new(hostname, debug: true)
-# quiet_client = Net::IMAP.new(hostname, debug: false)
-#
-# plain_client.config.inherited?(:debug) # => true
-# debug_client.config.inherited?(:debug) # => false
-# quiet_client.config.inherited?(:debug) # => false
-#
-# plain_client.config.debug? # => false
-# debug_client.config.debug? # => true
-# quiet_client.config.debug? # => false
-#
-# # Net::IMAP.debug is delegated to Net::IMAP::Config.global.debug
-# Net::IMAP.debug = true
-# plain_client.config.debug? # => true
-# debug_client.config.debug? # => true
-# quiet_client.config.debug? # => false
-#
-# Net::IMAP.debug = false
-# plain_client.config.debug = true
-# plain_client.config.inherited?(:debug) # => false
-# plain_client.config.debug? # => true
-# plain_client.config.reset(:debug)
-# plain_client.config.inherited?(:debug) # => true
-# plain_client.config.debug? # => false
-#
-# == Versioned defaults
-#
-# The effective default configuration for a specific +x.y+ version of
-# +net-imap+ can be loaded with the +config+ keyword argument to
-# Net::IMAP.new. Requesting default configurations for previous versions
-# enables extra backward compatibility with those versions:
-#
-# client = Net::IMAP.new(hostname, config: 0.3)
-# client.config.sasl_ir # => false
-# client.config.responses_without_block # => :silence_deprecation_warning
-#
-# client = Net::IMAP.new(hostname, config: 0.4)
-# client.config.sasl_ir # => true
-# client.config.responses_without_block # => :silence_deprecation_warning
-#
-# client = Net::IMAP.new(hostname, config: 0.5)
-# client.config.sasl_ir # => true
-# client.config.responses_without_block # => :warn
-#
-# client = Net::IMAP.new(hostname, config: :future)
-# client.config.sasl_ir # => true
-# client.config.responses_without_block # => :frozen_dup
-#
-# The versioned default configs inherit certain specific config options from
-# Config.global, for example #debug:
-#
-# client = Net::IMAP.new(hostname, config: 0.4)
-# Net::IMAP.debug = false
-# client.config.debug? # => false
-#
-# Net::IMAP.debug = true
-# client.config.debug? # => true
-#
-# Use #load_defaults to globally behave like a specific version:
-# client = Net::IMAP.new(hostname)
-# client.config.sasl_ir # => true
-# Net::IMAP.config.load_defaults 0.3
-# client.config.sasl_ir # => false
-#
-# === Named defaults
-# In addition to +x.y+ version numbers, the following aliases are supported:
-#
-# [+:default+]
-# An alias for +:current+.
-#
-# >>>
-# *NOTE*: This is _not_ the same as Config.default. It inherits some
-# attributes from Config.global, for example: #debug.
-# [+:current+]
-# An alias for the current +x.y+ version's defaults.
-# [+:next+]
-# The _planned_ config for the next +x.y+ version.
-# [+:future+]
-# The _planned_ eventual config for some future +x.y+ version.
-#
-# For example, to disable all currently deprecated behavior:
-# client = Net::IMAP.new(hostname, config: :future)
-# client.config.response_without_args # => :frozen_dup
-# client.responses.frozen? # => true
-# client.responses.values.all?(&:frozen?) # => true
-#
-# == Thread Safety
-#
-# *NOTE:* Updates to config objects are not synchronized for thread-safety.
-#
-# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:7
-class Net::IMAP::Config
- include ::Net::IMAP::Config::AttrAccessors
- include ::Net::IMAP::Config::AttrInheritance
- include ::Net::IMAP::Config::AttrTypeCoercion
- extend ::Net::IMAP::Config::AttrAccessors::Macros
- extend ::Net::IMAP::Config::AttrInheritance::Macros
- extend ::Net::IMAP::Config::AttrTypeCoercion::Macros
-
- class << self
- # :call-seq:
- # Net::IMAP::Config[number] -> versioned config
- # Net::IMAP::Config[symbol] -> named config
- # Net::IMAP::Config[hash] -> new frozen config
- # Net::IMAP::Config[config] -> same config
- #
- # Given a version number, returns the default configuration for the target
- # version. See Config@Versioned+defaults.
- #
- # Given a version name, returns the default configuration for the target
- # version. See Config@Named+defaults.
- #
- # Given a Hash, creates a new _frozen_ config which inherits from
- # Config.global. Use Config.new for an unfrozen config.
- #
- # Given a config, returns that same config.
- #
- # pkg:gem/net-imap#lib/net/imap/config.rb:170
- def [](config); end
-
- # The default config, which is hardcoded and frozen.
- #
- # pkg:gem/net-imap#lib/net/imap/config.rb:128
- def default; end
-
- # The global config object. Also available from Net::IMAP.config.
- #
- # pkg:gem/net-imap#lib/net/imap/config.rb:131
- def global; end
-
- # A hash of hard-coded configurations, indexed by version number or name.
- # Values can be accessed with any object that responds to +to_sym+ or
- # +to_r+/+to_f+ with a non-zero number.
- #
- # Config::[] gets named or numbered versions from this hash.
- #
- # For example:
- # Net::IMAP::Config.version_defaults[0.5] == Net::IMAP::Config[0.5]
- # Net::IMAP::Config[0.5] == Net::IMAP::Config[0.5r] # => true
- # Net::IMAP::Config["current"] == Net::IMAP::Config[:current] # => true
- # Net::IMAP::Config["0.5.6"] == Net::IMAP::Config[0.5r] # => true
- #
- # pkg:gem/net-imap#lib/net/imap/config.rb:144
- def version_defaults; end
- end
-end
-
-# >>>
-# *NOTE:* This module is an internal implementation detail, with no
-# guarantee of backward compatibility.
-#
-# +attr_accessor+ values are stored in a struct rather than ivars, making
-# it simpler to ensure that all config objects share a single object
-# shape. This also simplifies iteration over all defined attributes.
-#
-# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:15
-module Net::IMAP::Config::AttrAccessors
- extend ::Forwardable
-
- mixes_in_class_methods ::Net::IMAP::Config::AttrAccessors::Macros
-
- # :notnew:
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:45
- def initialize; end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:203
- def debug(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:203
- def debug=(*_arg0, **_arg1, &_arg2); end
-
- # Freezes the internal attributes struct, in addition to +self+.
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:51
- def freeze; end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:229
- def idle_response_timeout(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:229
- def idle_response_timeout=(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:221
- def open_timeout(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:221
- def open_timeout=(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:245
- def sasl_ir(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:245
- def sasl_ir=(*_arg0, **_arg1, &_arg2); end
-
- protected
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:58
- def data; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:62
- def initialize_clone(other); end
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:67
- def initialize_dup(other); end
-
- class << self
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:28
- def attr_accessor(name); end
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:38
- def struct; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:33
- def attributes; end
-
- # @private
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:21
- def included(mod); end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:16
-module Net::IMAP::Config::AttrAccessors::Macros
- # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:17
- def attr_accessor(name); end
-end
-
-# >>>
-# *NOTE:* The public methods on this module are part of the stable
-# public API of Net::IMAP::Config. But the module itself is an internal
-# implementation detail, with no guarantee of backward compatibility.
-#
-# +attr_accessor+ methods will delegate to their #parent when the local
-# value does not contain an override. Inheritance forms a singly linked
-# list, so lookup will be O(n) on the number of ancestors. In
-# practice, the ancestor chain is not expected to be long. Without
-# customization, it is only three deep:
-# >>>
-# IMAP#config → Config.global → Config.default
-#
-# When creating a client with the +config+ keyword, for example to use
-# the appropriate defaults for an application or a library while still
-# relying on global for configuration of +debug+ or +logger+, most likely
-# the ancestor chain is still only four deep:
-# >>>
-# IMAP#config → alternate defaults → Config.global → Config.default
-#
-# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:25
-module Net::IMAP::Config::AttrInheritance
- mixes_in_class_methods ::Net::IMAP::Config::AttrInheritance::Macros
-
- # :notnew:
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:48
- def initialize(parent = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:203
- def debug; end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:229
- def idle_response_timeout; end
-
- # Returns +true+ if +attr+ is inherited from #parent and not overridden
- # by this config.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:59
- def inherited?(attr); end
-
- # Creates a new config, which inherits from +self+.
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:55
- def new(**attrs); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:221
- def open_timeout; end
-
- # The parent Config object
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:46
- def parent; end
-
- # :call-seq:
- # reset -> self
- # reset(attr) -> attribute value
- #
- # Resets an +attr+ to inherit from the #parent config.
- #
- # When +attr+ is nil or not given, all attributes are reset.
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:68
- def reset(attr = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:245
- def sasl_ir; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:82
- def initialize_copy(other); end
-
- class << self
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:39
- def attr_accessor(name); end
-
- private
-
- # @private
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:34
- def included(mod); end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:26
-module Net::IMAP::Config::AttrInheritance::INHERITED; end
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:29
-module Net::IMAP::Config::AttrInheritance::Macros
- # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:30
- def attr_accessor(name); end
-end
-
-# >>>
-# *NOTE:* This module is an internal implementation detail, with no
-# guarantee of backward compatibility.
-#
-# Adds a +type+ keyword parameter to +attr_accessor+, to enforce that
-# config attributes have valid types, for example: boolean, numeric,
-# enumeration, non-nullable, etc.
-#
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:13
-module Net::IMAP::Config::AttrTypeCoercion
- mixes_in_class_methods ::Net::IMAP::Config::AttrTypeCoercion::Macros
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:203
- def debug=(val); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:203
- def debug?; end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:229
- def idle_response_timeout=(val); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:221
- def open_timeout=(val); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:245
- def sasl_ir=(val); end
-
- # pkg:gem/net-imap#lib/net/imap/config.rb:245
- def sasl_ir?; end
-
- class << self
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:38
- def attr_accessor(attr, type: T.unsafe(nil)); end
-
- private
-
- # @private
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:26
- def included(mod); end
-
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:31
- def safe(*_arg0, **_arg1, &_arg2); end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:35
-Net::IMAP::Config::AttrTypeCoercion::Boolean = T.let(T.unsafe(nil), Proc)
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:46
-Net::IMAP::Config::AttrTypeCoercion::Enum = T.let(T.unsafe(nil), Proc)
-
-# :stopdoc: internal APIs only
-#
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:16
-module Net::IMAP::Config::AttrTypeCoercion::Macros
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:17
- def attr_accessor(attr, type: T.unsafe(nil)); end
-
- private
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:22
- def Integer?; end
-
- class << self
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:22
- def Integer?; end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:44
-Net::IMAP::Config::AttrTypeCoercion::NilOrInteger = T.let(T.unsafe(nil), Proc)
-
-# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:34
-Net::IMAP::Config::AttrTypeCoercion::Types = T.let(T.unsafe(nil), Hash)
-
-# Array of attribute names that are _not_ loaded by #load_defaults.
-#
-# pkg:gem/net-imap#lib/net/imap/config.rb:124
-Net::IMAP::Config::DEFAULT_TO_INHERIT = T.let(T.unsafe(nil), Array)
-
-# pkg:gem/net-imap#lib/net/imap.rb:794
-Net::IMAP::ENABLE_ALIASES = T.let(T.unsafe(nil), Hash)
-
-# Error raised when the server sends an invalid response.
-#
-# This is different from UnknownResponseError: the response has been
-# rejected. Although it may be parsable, the server is forbidden from
-# sending it in the current context. The client should automatically
-# disconnect, abruptly (without logout).
-#
-# Note that InvalidResponseError does not inherit from ResponseError: it
-# can be raised before the response is fully parsed. A related
-# ResponseParseError or ResponseError may be the #cause.
-#
-# pkg:gem/net-imap#lib/net/imap/errors.rb:99
-class Net::IMAP::InvalidResponseError < ::Net::IMAP::Error; end
-
-# pkg:gem/net-imap#lib/net/imap/errors.rb:10
-class Net::IMAP::LoginDisabledError < ::Net::IMAP::Error
- # @return [LoginDisabledError] a new instance of LoginDisabledError
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:11
- def initialize(msg = T.unsafe(nil), *_arg1, **_arg2, &_arg3); end
-end
-
-# pkg:gem/net-imap#lib/net/imap.rb:3092
-Net::IMAP::RESPONSES_DEPRECATION_MSG = T.let(T.unsafe(nil), String)
-
-# pkg:gem/net-imap#lib/net/imap/errors.rb:113
-Net::IMAP::RESPONSE_ERRORS = T.let(T.unsafe(nil), Hash)
-
-# pkg:gem/net-imap#lib/net/imap.rb:3580
-Net::IMAP::RETURN_START = T.let(T.unsafe(nil), Regexp)
-
-# pkg:gem/net-imap#lib/net/imap.rb:3579
-Net::IMAP::RETURN_WHOLE = T.let(T.unsafe(nil), Regexp)
-
-# Superclass of all errors used to encapsulate "fail" responses
-# from the server.
-#
-# pkg:gem/net-imap#lib/net/imap/errors.rb:59
-class Net::IMAP::ResponseError < ::Net::IMAP::Error
- # @return [ResponseError] a new instance of ResponseError
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:64
- def initialize(response); end
-
- # The response that caused this error
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:62
- def response; end
-
- # The response that caused this error
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:62
- def response=(_arg0); end
-end
-
-# Error raised when the socket cannot be read, due to a Config limit.
-#
-# pkg:gem/net-imap#lib/net/imap/errors.rb:21
-class Net::IMAP::ResponseReadError < ::Net::IMAP::Error; end
-
-# See https://www.rfc-editor.org/rfc/rfc9051#section-2.2.2
-#
-# pkg:gem/net-imap#lib/net/imap/response_reader.rb:6
-class Net::IMAP::ResponseReader
- # @return [ResponseReader] a new instance of ResponseReader
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:9
- def initialize(client, sock); end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:7
- def client; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:13
- def read_response_buffer; end
-
- private
-
- # Returns the value of attribute buff.
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:29
- def buff; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:31
- def bytes_read; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:33
- def done?; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:32
- def empty?; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:35
- def get_literal_size; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:34
- def line_done?; end
-
- # Returns the value of attribute literal_size.
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:29
- def literal_size; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:56
- def max_response_remaining; end
-
- # @raise [ResponseTooLargeError]
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:64
- def max_response_remaining!; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:55
- def max_response_size; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:60
- def min_response_remaining; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:58
- def min_response_size; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:51
- def read_limit(limit = T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:37
- def read_line; end
-
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:42
- def read_literal; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/response_reader.rb:57
- def response_too_large?; end
-end
-
-# Error raised when a response is larger than IMAP#max_response_size.
-#
-# pkg:gem/net-imap#lib/net/imap/errors.rb:25
-class Net::IMAP::ResponseTooLargeError < ::Net::IMAP::ResponseReadError
- # @return [ResponseTooLargeError] a new instance of ResponseTooLargeError
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:29
- def initialize(msg = T.unsafe(nil), *args, bytes_read: T.unsafe(nil), literal_size: T.unsafe(nil), max_response_size: T.unsafe(nil), **kwargs); end
-
- # Returns the value of attribute bytes_read.
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:26
- def bytes_read; end
-
- # Returns the value of attribute literal_size.
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:26
- def literal_size; end
-
- # Returns the value of attribute max_response_size.
- #
- # pkg:gem/net-imap#lib/net/imap/errors.rb:27
- def max_response_size; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/errors.rb:46
- def response_size_msg; end
-end
-
-# Pluggable authentication mechanisms for protocols which support SASL
-# (Simple Authentication and Security Layer), such as IMAP4, SMTP, LDAP, and
-# XMPP. {RFC-4422}[https://www.rfc-editor.org/rfc/rfc4422] specifies the
-# common \SASL framework:
-# >>>
-# SASL is conceptually a framework that provides an abstraction layer
-# between protocols and mechanisms as illustrated in the following
-# diagram.
-#
-# SMTP LDAP XMPP Other protocols ...
-# \ | | /
-# \ | | /
-# SASL abstraction layer
-# / | | \
-# / | | \
-# EXTERNAL GSSAPI PLAIN Other mechanisms ...
-#
-# Net::IMAP uses SASL via the Net::IMAP#authenticate method.
-#
-# == Mechanisms
-#
-# Each mechanism has different properties and requirements. Please consult
-# the documentation for the specific mechanisms you are using:
-#
-# +ANONYMOUS+::
-# See AnonymousAuthenticator.
-#
-# Allows the user to gain access to public services or resources without
-# authenticating or disclosing an identity.
-#
-# +EXTERNAL+::
-# See ExternalAuthenticator.
-#
-# Authenticates using already established credentials, such as a TLS
-# certificate or IPSec.
-#
-# +OAUTHBEARER+::
-# See OAuthBearerAuthenticator.
-#
-# Login using an OAuth2 Bearer token. This is the standard mechanism
-# for using OAuth2 with \SASL, but it is not yet deployed as widely as
-# +XOAUTH2+.
-#
-# +PLAIN+::
-# See PlainAuthenticator.
-#
-# Login using clear-text username and password.
-#
-# +SCRAM-SHA-1+::
-# +SCRAM-SHA-256+::
-# See ScramAuthenticator.
-#
-# Login by username and password. The password is not sent to the
-# server but is used in a salted challenge/response exchange.
-# +SCRAM-SHA-1+ and +SCRAM-SHA-256+ are directly supported by
-# Net::IMAP::SASL. New authenticators can easily be added for any other
-# SCRAM-* mechanism if the digest algorithm is supported by
-# OpenSSL::Digest.
-#
-# +XOAUTH2+::
-# See XOAuth2Authenticator.
-#
-# Login using a username and an OAuth2 access token. Non-standard and
-# obsoleted by +OAUTHBEARER+, but widely supported.
-#
-# See the {SASL mechanism
-# registry}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
-# for a list of all SASL mechanisms and their specifications. To register
-# new authenticators, see Authenticators.
-#
-# === Deprecated mechanisms
-#
-# Obsolete mechanisms should be avoided, but are still available for
-# backwards compatibility.
-#
-# >>>
-# For +DIGEST-MD5+ see DigestMD5Authenticator.
-#
-# For +LOGIN+, see LoginAuthenticator.
-#
-# For +CRAM-MD5+, see CramMD5Authenticator.
-#
-# Using a deprecated mechanism will print a warning.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:90
-module Net::IMAP::SASL
- private
-
- # See Net::IMAP::StringPrep::SASLprep#saslprep.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:176
- def saslprep(string, **opts); end
-
- class << self
- # Delegates to ::authenticators. See Authenticators#add_authenticator.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:171
- def add_authenticator(*_arg0, **_arg1, &_arg2); end
-
- # Creates a new SASL authenticator, using SASL::Authenticators#new.
- #
- # +registry+ defaults to SASL.authenticators. All other arguments are
- # forwarded to to registry.new.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:166
- def authenticator(*args, registry: T.unsafe(nil), **kwargs, &block); end
-
- # Returns the default global SASL::Authenticators instance.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:160
- def authenticators; end
-
- # See Net::IMAP::StringPrep::SASLprep#saslprep.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:176
- def saslprep(string, **opts); end
- end
-end
-
-# Authenticator for the "+ANONYMOUS+" SASL mechanism, as specified by
-# RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. See
-# Net::IMAP#authenticate.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:10
-class Net::IMAP::SASL::AnonymousAuthenticator
- # :call-seq:
- # new(anonymous_message = "", **) -> authenticator
- # new(anonymous_message: "", **) -> authenticator
- #
- # Creates an Authenticator for the "+ANONYMOUS+" SASL mechanism, as
- # specified in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. To use
- # this, see Net::IMAP#authenticate or your client's authentication
- # method.
- #
- # ==== Parameters
- #
- # * _optional_ #anonymous_message — a message to send to the server.
- #
- # Any other keyword arguments are silently ignored.
- #
- # @return [AnonymousAuthenticator] a new instance of AnonymousAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:37
- def initialize(anon_msg = T.unsafe(nil), anonymous_message: T.unsafe(nil), **_arg2); end
-
- # An optional token sent for the +ANONYMOUS+ mechanism., up to 255 UTF-8
- # characters in length.
- #
- # If it contains an "@" sign, the message must be a valid email address
- # (+addr-spec+ from RFC-2822[https://www.rfc-editor.org/rfc/rfc2822]).
- # Email syntax is _not_ validated by AnonymousAuthenticator.
- #
- # Otherwise, it can be any UTF8 string which is permitted by the
- # StringPrep::Trace profile.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:21
- def anonymous_message; end
-
- # Returns true when the initial client response was sent.
- #
- # The authentication should not succeed unless this returns true, but it
- # does *not* indicate success.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:64
- def done?; end
-
- # :call-seq:
- # initial_response? -> true
- #
- # +ANONYMOUS+ can send an initial client response.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:51
- def initial_response?; end
-
- # Returns #anonymous_message.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:54
- def process(_server_challenge_string); end
-end
-
-# Indicates an authentication exchange that will be or has been canceled
-# by the client, not due to any error or failure during processing.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:106
-class Net::IMAP::SASL::AuthenticationCanceled < ::Net::IMAP::SASL::Error; end
-
-# Indicates an error when processing a server challenge, e.g: an invalid
-# or unparsable challenge. An underlying exception may be available as
-# the exception's #cause.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:111
-class Net::IMAP::SASL::AuthenticationError < ::Net::IMAP::SASL::Error; end
-
-# AuthenticationExchange is used internally by Net::IMAP#authenticate.
-# But the API is still *experimental*, and may change.
-#
-# TODO: catch exceptions in #process and send #cancel_response.
-# TODO: raise an error if the command succeeds after being canceled.
-# TODO: use with more clients, to verify the API can accommodate them.
-# TODO: pass ClientAdapter#service to SASL.authenticator
-#
-# An AuthenticationExchange represents a single attempt to authenticate
-# a SASL client to a SASL server. It is created from a client adapter, a
-# mechanism name, and a mechanism authenticator. When #authenticate is
-# called, it will send the appropriate authenticate command to the server,
-# returning the client response on success and raising an exception on
-# failure.
-#
-# In most cases, the client will not need to use
-# SASL::AuthenticationExchange directly at all. Instead, use
-# SASL::ClientAdapter#authenticate. If customizations are needed, the
-# custom client adapter is probably the best place for that code.
-#
-# def authenticate(...)
-# MyClient::SASLAdapter.new(self).authenticate(...)
-# end
-#
-# SASL::ClientAdapter#authenticate delegates to ::authenticate, like so:
-#
-# def authenticate(...)
-# sasl_adapter = MyClient::SASLAdapter.new(self)
-# SASL::AuthenticationExchange.authenticate(sasl_adapter, ...)
-# end
-#
-# ::authenticate simply delegates to ::build and #authenticate, like so:
-#
-# def authenticate(...)
-# sasl_adapter = MyClient::SASLAdapter.new(self)
-# SASL::AuthenticationExchange
-# .build(sasl_adapter, ...)
-# .authenticate
-# end
-#
-# And ::build delegates to SASL.authenticator and ::new, like so:
-#
-# def authenticate(mechanism, ...)
-# sasl_adapter = MyClient::SASLAdapter.new(self)
-# authenticator = SASL.authenticator(mechanism, ...)
-# SASL::AuthenticationExchange
-# .new(sasl_adapter, mechanism, authenticator)
-# .authenticate
-# end
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:57
-class Net::IMAP::SASL::AuthenticationExchange
- # @return [AuthenticationExchange] a new instance of AuthenticationExchange
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:84
- def initialize(client, mechanism, authenticator, sasl_ir: T.unsafe(nil)); end
-
- # Call #authenticate to execute an authentication exchange for #client
- # using #authenticator. Authentication failures will raise an
- # exception. Any exceptions other than those in RESPONSE_ERRORS will
- # drop the connection.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:96
- def authenticate; end
-
- # Returns the value of attribute authenticator.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:82
- def authenticator; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:117
- def done?; end
-
- # Returns the value of attribute mechanism.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:82
- def mechanism; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:109
- def send_initial_response?; end
-
- private
-
- # Returns the value of attribute client.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:123
- def client; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:125
- def initial_response; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:130
- def process(challenge); end
-
- class << self
- # Convenience method for build(...).authenticate
- #
- # See also: SASL::ClientAdapter#authenticate
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:61
- def authenticate(*_arg0, **_arg1, &_arg2); end
-
- # Convenience method to combine the creation of a new authenticator and
- # a new Authentication exchange.
- #
- # +client+ must be an instance of SASL::ClientAdapter.
- #
- # +mechanism+ must be a SASL mechanism name, as a string or symbol.
- #
- # +sasl_ir+ allows or disallows sending an "initial response", depending
- # also on whether the server capabilities, mechanism authenticator, and
- # client adapter all support it. Defaults to +true+.
- #
- # +mechanism+, +args+, +kwargs+, and +block+ are all forwarded to
- # SASL.authenticator. Use the +registry+ kwarg to override the global
- # SASL::Authenticators registry.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:77
- def build(client, mechanism, *args, sasl_ir: T.unsafe(nil), **kwargs, &block); end
- end
-end
-
-# Indicates that authentication cannot proceed because one of the server's
-# messages has not passed integrity checks.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:115
-class Net::IMAP::SASL::AuthenticationFailed < ::Net::IMAP::SASL::Error; end
-
-# Indicates that authentication cannot proceed because the server ended
-# authentication prematurely.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:119
-class Net::IMAP::SASL::AuthenticationIncomplete < ::Net::IMAP::SASL::AuthenticationFailed
- # @return [AuthenticationIncomplete] a new instance of AuthenticationIncomplete
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:123
- def initialize(response, message = T.unsafe(nil)); end
-
- # The success response from the server
- #
- # pkg:gem/net-imap#lib/net/imap/sasl.rb:121
- def response; end
-end
-
-# Registry for SASL authenticators
-#
-# Registered authenticators must respond to +#new+ or +#call+ (e.g. a class or
-# a proc), receiving any credentials and options and returning an
-# authenticator instance. The returned object represents a single
-# authentication exchange and must not be reused for multiple
-# authentication attempts.
-#
-# An authenticator instance object must respond to +#process+, receiving the
-# server's challenge and returning the client's response. Optionally, it may
-# also respond to +#initial_response?+ and +#done?+. When
-# +#initial_response?+ returns +true+, +#process+ may be called the first
-# time with +nil+. When +#done?+ returns +false+, the exchange is incomplete
-# and an exception should be raised if the exchange terminates prematurely.
-#
-# See the source for PlainAuthenticator, XOAuth2Authenticator, and
-# ScramSHA1Authenticator for examples.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:22
-class Net::IMAP::SASL::Authenticators
- # Create a new Authenticators registry.
- #
- # This class is usually not instantiated directly. Use SASL.authenticators
- # to reuse the default global registry.
- #
- # When +use_defaults+ is +false+, the registry will start empty. When
- # +use_deprecated+ is +false+, deprecated authenticators will not be
- # included with the defaults.
- #
- # @return [Authenticators] a new instance of Authenticators
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:36
- def initialize(use_defaults: T.unsafe(nil), use_deprecated: T.unsafe(nil)); end
-
- # :call-seq:
- # add_authenticator(mechanism)
- # add_authenticator(mechanism, authenticator_class)
- # add_authenticator(mechanism, authenticator_proc)
- #
- # Registers an authenticator for #authenticator to use. +mechanism+ is the
- # name of the
- # {SASL mechanism}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
- # implemented by +authenticator_class+ (for instance, "PLAIN").
- #
- # If +mechanism+ refers to an existing authenticator,
- # the old authenticator will be replaced.
- #
- # When only a single argument is given, the authenticator class will be
- # lazily loaded from Net::IMAP::SASL::#{name}Authenticator (case is
- # preserved and non-alphanumeric characters are removed..
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:71
- def add_authenticator(name, authenticator = T.unsafe(nil)); end
-
- # :call-seq:
- # authenticator(mechanism, ...) -> auth_session
- #
- # Builds an authenticator instance using the authenticator registered to
- # +mechanism+. The returned object represents a single authentication
- # exchange and must not be reused for multiple authentication
- # attempts.
- #
- # All arguments (except +mechanism+) are forwarded to the registered
- # authenticator's +#new+ or +#call+ method. Each authenticator must
- # document its own arguments.
- #
- # [Note]
- # This method is intended for internal use by connection protocol code
- # only. Protocol client users should see refer to their client's
- # documentation, e.g. Net::IMAP#authenticate.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:111
- def authenticator(mechanism, *_arg1, **_arg2, &_arg3); end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:90
- def mechanism?(name); end
-
- # Returns the names of all registered SASL mechanisms.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:53
- def names; end
-
- # :call-seq:
- # authenticator(mechanism, ...) -> auth_session
- #
- # Builds an authenticator instance using the authenticator registered to
- # +mechanism+. The returned object represents a single authentication
- # exchange and must not be reused for multiple authentication
- # attempts.
- #
- # All arguments (except +mechanism+) are forwarded to the registered
- # authenticator's +#new+ or +#call+ method. Each authenticator must
- # document its own arguments.
- #
- # [Note]
- # This method is intended for internal use by connection protocol code
- # only. Protocol client users should see refer to their client's
- # documentation, e.g. Net::IMAP#authenticate.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:118
- def new(mechanism, *_arg1, **_arg2, &_arg3); end
-
- # Removes the authenticator registered for +name+
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:85
- def remove_authenticator(name); end
-
- class << self
- # Normalize the mechanism name as an uppercase string, with underscores
- # converted to dashes.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:26
- def normalize_name(mechanism); end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:8
-Net::IMAP::SASL::BidiStringError = Net::IMAP::StringPrep::BidiStringError
-
-# This API is *experimental*, and may change.
-#
-# TODO: use with more clients, to verify the API can accommodate them.
-#
-# Represents the client to a SASL::AuthenticationExchange. By default,
-# most methods simply delegate to #client. Clients should subclass
-# SASL::ClientAdapter and override methods as needed to match the
-# semantics of this API to their API.
-#
-# Subclasses should also include a protocol adapter mixin when the default
-# ProtocolAdapters::Generic isn't sufficient.
-#
-# === Protocol Requirements
-#
-# {RFC4422 §4}[https://www.rfc-editor.org/rfc/rfc4422.html#section-4]
-# lists requirements for protocol specifications to offer SASL. Where
-# possible, ClientAdapter delegates the handling of these requirements to
-# SASL::ProtocolAdapters.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:27
-class Net::IMAP::SASL::ClientAdapter
- include ::Net::IMAP::SASL::ProtocolAdapters::Generic
- extend ::Forwardable
-
- # By default, this simply sets the #client and #command_proc attributes.
- # Subclasses may override it, for example: to set the appropriate
- # command_proc automatically.
- #
- # @return [ClientAdapter] a new instance of ClientAdapter
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:56
- def initialize(client, &command_proc); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:76
- def auth_capable?(*_arg0, **_arg1, &_arg2); end
-
- # Attempt to authenticate #client to the server.
- #
- # By default, this simply delegates to
- # AuthenticationExchange.authenticate.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:64
- def authenticate(*_arg0, **_arg1, &_arg2); end
-
- # method: drop_connection!
- # Drop the connection abruptly, closing the socket without logging out.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:35
- def client; end
-
- # +command_proc+ can used to avoid exposing private methods on #client.
- # It's value is set by the block that is passed to ::new, and it is used
- # by the default implementation of #run_command. Subclasses that
- # override #run_command may use #command_proc for any other purpose they
- # find useful.
- #
- # In the default implementation of #run_command, command_proc is called
- # with the protocols authenticate +command+ name, the +mechanism+ name,
- # an _optional_ +initial_response+ argument, and a +continuations+
- # block. command_proc must run the protocol command with the arguments
- # sent to it, _yield_ the payload of each continuation, respond to the
- # continuation with the result of each _yield_, and _return_ the
- # command's successful result. Non-successful results *MUST* raise
- # an exception.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:51
- def command_proc; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:113
- def drop_connection(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:118
- def drop_connection!(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:99
- def host(*_arg0, **_arg1, &_arg2); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:104
- def port(*_arg0, **_arg1, &_arg2); end
-
- # Returns an array of server responses errors raised by run_command.
- # Exceptions in this array won't drop the connection.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:108
- def response_errors; end
-
- # Calls command_proc with +command_name+ (see
- # SASL::ProtocolAdapters::Generic#command_name),
- # +mechanism+, +initial_response+, and a +continuations_handler+ block.
- # The +initial_response+ is optional; when it's nil, it won't be sent to
- # command_proc.
- #
- # Yields each continuation payload, responds to the server with the
- # result of each yield, and returns the result. Non-successful results
- # *MUST* raise an exception. Exceptions in the block *MUST* cause the
- # command to fail.
- #
- # Subclasses that override this may use #command_proc differently.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:90
- def run_command(mechanism, initial_response = T.unsafe(nil), &continuations_handler); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:69
- def sasl_ir_capable?(*_arg0, **_arg1, &_arg2); end
-end
-
-# Authenticator for the "+CRAM-MD5+" SASL mechanism, specified in
-# RFC2195[https://www.rfc-editor.org/rfc/rfc2195]. See Net::IMAP#authenticate.
-#
-# == Deprecated
-#
-# +CRAM-MD5+ is obsolete and insecure. It is included for compatibility with
-# existing servers.
-# {draft-ietf-sasl-crammd5-to-historic}[https://www.rfc-editor.org/rfc/draft-ietf-sasl-crammd5-to-historic-00.html]
-# recommends using +SCRAM-*+ or +PLAIN+ protected by TLS instead.
-#
-# Additionally, RFC8314[https://www.rfc-editor.org/rfc/rfc8314] discourage the use
-# of cleartext and recommends TLS version 1.2 or greater be used for all
-# traffic. With TLS +CRAM-MD5+ is okay, but so is +PLAIN+
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:16
-class Net::IMAP::SASL::CramMD5Authenticator
- # @return [CramMD5Authenticator] a new instance of CramMD5Authenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:17
- def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg7); end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:40
- def done?; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:31
- def initial_response?; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:33
- def process(challenge); end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:44
- def hmac_md5(text, key); end
-end
-
-# Net::IMAP authenticator for the +DIGEST-MD5+ SASL mechanism type, specified
-# in RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]. See Net::IMAP#authenticate.
-#
-# == Deprecated
-#
-# "+DIGEST-MD5+" has been deprecated by
-# RFC-6331[https://www.rfc-editor.org/rfc/rfc6331] and should not be relied on for
-# security. It is included for compatibility with existing servers.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:11
-class Net::IMAP::SASL::DigestMD5Authenticator
- # :call-seq:
- # new(username, password, authzid = nil, **options) -> authenticator
- # new(username:, password:, authzid: nil, **options) -> authenticator
- # new(authcid:, password:, authzid: nil, **options) -> authenticator
- #
- # Creates an Authenticator for the "+DIGEST-MD5+" SASL mechanism.
- #
- # Called by Net::IMAP#authenticate and similar methods on other clients.
- #
- # ==== Parameters
- #
- # * #authcid ― Authentication identity that is associated with #password.
- #
- # #username ― An alias for +authcid+.
- #
- # * #password ― A password or passphrase associated with this #authcid.
- #
- # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
- #
- # When +authzid+ is not set, the server should derive the authorization
- # identity from the authentication identity.
- #
- # * _optional_ #realm — A namespace for the #username, e.g. a domain.
- # Defaults to the last realm in the server-provided realms list.
- # * _optional_ #host — FQDN for requested service.
- # Defaults to #realm.
- # * _optional_ #service_name — The generic host name when the server is
- # replicated.
- # * _optional_ #service — the registered service protocol. E.g. "imap",
- # "smtp", "ldap", "xmpp".
- # For Net::IMAP, this defaults to "imap".
- #
- # * _optional_ +warn_deprecation+ — Set to +false+ to silence the warning.
- #
- # Any other keyword arguments are silently ignored.
- #
- # @return [DigestMD5Authenticator] a new instance of DigestMD5Authenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:154
- def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authz = T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), authzid: T.unsafe(nil), authcid: T.unsafe(nil), secret: T.unsafe(nil), realm: T.unsafe(nil), service: T.unsafe(nil), host: T.unsafe(nil), service_name: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg13); end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
- # "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs abbreviate
- # this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:46
- def authcid; end
-
- # Authorization identity: an identity to act as or on behalf of. The identity
- # form is application protocol specific. If not provided or left blank, the
- # server derives an authorization identity from the authentication identity.
- # The server is responsible for verifying the client's credentials and
- # verifying that the identity it associates with the client's authentication
- # identity is allowed to act as (or on behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "DIGEST-MD5", "root", ->{passwd}, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:64
- def authzid; end
-
- # The charset sent by the server. "UTF-8" (case insensitive) is the only
- # allowed value. +nil+ should be interpreted as ISO 8859-1.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:111
- def charset; end
-
- # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
- # >>>
- # Indicates the principal name of the service with which the client wishes
- # to connect, formed from the serv-type, host, and serv-name. For
- # example, the FTP service on "ftp.example.com" would have a "digest-uri"
- # value of "ftp/ftp.example.com"; the SMTP server from the example above
- # would have a "digest-uri" value of "smtp/mail3.example.com/example.com".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:186
- def digest_uri; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:246
- def done?; end
-
- # Fully qualified canonical DNS host name for the requested service.
- #
- # Defaults to #realm.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:78
- def host; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:194
- def initial_response?; end
-
- # nonce sent by the server
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:114
- def nonce; end
-
- # A password or passphrase that matches the #username.
- #
- # The +password+ will be used to create the response digest.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:51
- def password; end
-
- # Responds to server challenge in two stages.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:197
- def process(challenge); end
-
- # qop-options sent by the server
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:117
- def qop; end
-
- # A namespace or collection of identities which contains +username+.
- #
- # Used by DIGEST-MD5, GSS-API, and NTLM. This is often a domain name that
- # contains the name of the host performing the authentication.
- #
- # Defaults to the last realm in the server-provided list of
- # realms.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:73
- def realm; end
-
- # The service protocol, a
- # {registered GSSAPI service name}[https://www.iana.org/assignments/gssapi-service-names/gssapi-service-names.xhtml],
- # e.g. "imap", "ldap", or "xmpp".
- #
- # For Net::IMAP, the default is "imap" and should not be overridden. This
- # must be set appropriately to use authenticators in other protocols.
- #
- # If an IANA-registered name isn't available, GSS-API
- # (RFC-2743[https://www.rfc-editor.org/rfc/rfc2743]) allows the generic name
- # "host".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:90
- def service; end
-
- # The generic server name when the server is replicated.
- #
- # +service_name+ will be ignored when it is +nil+ or identical to +host+.
- #
- # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
- # >>>
- # The service is considered to be replicated if the client's
- # service-location process involves resolution using standard DNS lookup
- # operations, and if these operations involve DNS records (such as SRV, or
- # MX) which resolve one DNS name into a set of other DNS names. In this
- # case, the initial name used by the client is the "serv-name", and the
- # final name is the "host" component.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:104
- def service_name; end
-
- # Parameters sent by the server are stored in this hash.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:107
- def sparams; end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
- # "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs abbreviate
- # this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:45
- def username; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:306
- def compute_a0(response); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:312
- def compute_a1(response); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:319
- def compute_a2(response); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:327
- def format_response(response); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:286
- def nc(nonce); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:259
- def parse_challenge(challenge); end
-
- # some responses need quoting
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:332
- def qdval(k, v); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:294
- def response_value(response); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:280
- def split_quoted_list(value, challenge); end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:254
-Net::IMAP::SASL::DigestMD5Authenticator::AUTH_PARAM = T.let(T.unsafe(nil), Regexp)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:12
-Net::IMAP::SASL::DigestMD5Authenticator::DataFormatError = Net::IMAP::DataFormatError
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:253
-Net::IMAP::SASL::DigestMD5Authenticator::LIST_DELIM = T.let(T.unsafe(nil), Regexp)
-
-# less strict than RFC, more strict than '\s'
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:250
-Net::IMAP::SASL::DigestMD5Authenticator::LWS = T.let(T.unsafe(nil), Regexp)
-
-# Directives which must not have multiples. The RFC states:
-# >>>
-# This directive may appear at most once; if multiple instances are present,
-# the client should abort the authentication exchange.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:25
-Net::IMAP::SASL::DigestMD5Authenticator::NO_MULTIPLES = T.let(T.unsafe(nil), Array)
-
-# Directives which are composed of one or more comma delimited tokens
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:34
-Net::IMAP::SASL::DigestMD5Authenticator::QUOTED_LISTABLE = T.let(T.unsafe(nil), Array)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:252
-Net::IMAP::SASL::DigestMD5Authenticator::QUOTED_STR = T.let(T.unsafe(nil), Regexp)
-
-# Required directives which must occur exactly once. The RFC states: >>>
-# This directive is required and MUST appear exactly once; if not present,
-# or if multiple instances are present, the client should abort the
-# authentication exchange.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:31
-Net::IMAP::SASL::DigestMD5Authenticator::REQUIRED = T.let(T.unsafe(nil), Array)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:13
-Net::IMAP::SASL::DigestMD5Authenticator::ResponseParseError = Net::IMAP::ResponseParseError
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:18
-Net::IMAP::SASL::DigestMD5Authenticator::STAGE_DONE = T.let(T.unsafe(nil), Symbol)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:16
-Net::IMAP::SASL::DigestMD5Authenticator::STAGE_ONE = T.let(T.unsafe(nil), Symbol)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:17
-Net::IMAP::SASL::DigestMD5Authenticator::STAGE_TWO = T.let(T.unsafe(nil), Symbol)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:251
-Net::IMAP::SASL::DigestMD5Authenticator::TOKEN = T.let(T.unsafe(nil), Regexp)
-
-# Exception class for any client error detected during the authentication
-# exchange.
-#
-# When the _server_ reports an authentication failure, it will respond
-# with a protocol specific error instead, e.g: +BAD+ or +NO+ in IMAP.
-#
-# When the client encounters any error, it *must* consider the
-# authentication exchange to be unsuccessful and it might need to drop the
-# connection. For example, if the server reports that the authentication
-# exchange was successful or the protocol does not allow additional
-# authentication attempts.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl.rb:102
-class Net::IMAP::SASL::Error < ::StandardError; end
-
-# Authenticator for the "+EXTERNAL+" SASL mechanism, as specified by
-# RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. See
-# Net::IMAP#authenticate.
-#
-# The EXTERNAL mechanism requests that the server use client credentials
-# established external to SASL, for example by TLS certificate or IPSec.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:13
-class Net::IMAP::SASL::ExternalAuthenticator
- # :call-seq:
- # new(authzid: nil, **) -> authenticator
- # new(username: nil, **) -> authenticator
- # new(username = nil, **) -> authenticator
- #
- # Creates an Authenticator for the "+EXTERNAL+" SASL mechanism, as
- # specified in RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. To use
- # this, see Net::IMAP#authenticate or your client's authentication
- # method.
- #
- # ==== Parameters
- #
- # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
- #
- # _optional_ #username ― An alias for #authzid.
- #
- # Note that, unlike some other authenticators, +username+ sets the
- # _authorization_ identity and not the _authentication_ identity. The
- # authentication identity is established for the client by the
- # external credentials.
- #
- # Any other keyword parameters are quietly ignored.
- #
- # @return [ExternalAuthenticator] a new instance of ExternalAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:52
- def initialize(user = T.unsafe(nil), authzid: T.unsafe(nil), username: T.unsafe(nil), **_arg3); end
-
- # Authorization identity: an identity to act as or on behalf of. The
- # identity form is application protocol specific. If not provided or
- # left blank, the server derives an authorization identity from the
- # authentication identity. The server is responsible for verifying the
- # client's credentials and verifying that the identity it associates
- # with the client's authentication identity is allowed to act as (or on
- # behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:27
- def authzid; end
-
- # Returns true when the initial client response was sent.
- #
- # The authentication should not succeed unless this returns true, but it
- # does *not* indicate success.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:78
- def done?; end
-
- # :call-seq:
- # initial_response? -> true
- #
- # +EXTERNAL+ can send an initial client response.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:65
- def initial_response?; end
-
- # Returns #authzid, or an empty string if there is no authzid.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:68
- def process(_); end
-
- # Authorization identity: an identity to act as or on behalf of. The
- # identity form is application protocol specific. If not provided or
- # left blank, the server derives an authorization identity from the
- # authentication identity. The server is responsible for verifying the
- # client's credentials and verifying that the identity it associates
- # with the client's authentication identity is allowed to act as (or on
- # behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:28
- def username; end
-end
-
-# Originally defined for the GS2 mechanism family in
-# RFC5801[https://www.rfc-editor.org/rfc/rfc5801],
-# several different mechanisms start with a GS2 header:
-# * +GS2-*+ --- RFC5801[https://www.rfc-editor.org/rfc/rfc5801]
-# * +SCRAM-*+ --- RFC5802[https://www.rfc-editor.org/rfc/rfc5802]
-# (ScramAuthenticator)
-# * +SAML20+ --- RFC6595[https://www.rfc-editor.org/rfc/rfc6595]
-# * +OPENID20+ --- RFC6616[https://www.rfc-editor.org/rfc/rfc6616]
-# * +OAUTH10A+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
-# * +OAUTHBEARER+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
-# (OAuthBearerAuthenticator)
-#
-# Classes that include this module must implement +#authzid+.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:20
-module Net::IMAP::SASL::GS2Header
- # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
- # +gs2-authzid+ header, when +#authzid+ is not empty.
- #
- # If +#authzid+ is empty or +nil+, an empty string is returned.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:59
- def gs2_authzid; end
-
- # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
- # +gs2-cb-flag+:
- #
- # "+n+":: The client doesn't support channel binding.
- # "+y+":: The client does support channel binding
- # but thinks the server does not.
- # "+p+":: The client requires channel binding.
- # The selected channel binding follows "+p=+".
- #
- # The default always returns "+n+". A mechanism that supports channel
- # binding must override this method.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:53
- def gs2_cb_flag; end
-
- # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
- # +gs2-header+, which prefixes the #initial_client_response.
- #
- # >>>
- # Note: the actual GS2 header includes an optional flag to
- # indicate that the GSS mechanism is not "standard", but since all of
- # the SASL mechanisms using GS2 are "standard", we don't include that
- # flag. A class for a nonstandard GSSAPI mechanism should prefix with
- # "+F,+".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:37
- def gs2_header; end
-
- private
-
- # Encodes +str+ to match RFC5801_SASLNAME.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:67
- def gs2_saslname_encode(str); end
-
- class << self
- # Encodes +str+ to match RFC5801_SASLNAME.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:67
- def gs2_saslname_encode(str); end
- end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:21
-Net::IMAP::SASL::GS2Header::NO_NULL_CHARS = T.let(T.unsafe(nil), Regexp)
-
-# Matches {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
-# +saslname+. The output from gs2_saslname_encode matches this Regexp.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:26
-Net::IMAP::SASL::GS2Header::RFC5801_SASLNAME = T.let(T.unsafe(nil), Regexp)
-
-# Authenticator for the "+LOGIN+" SASL mechanism. See Net::IMAP#authenticate.
-#
-# +LOGIN+ authentication sends the password in cleartext.
-# RFC3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
-# cleartext authentication until after TLS has been negotiated.
-# RFC8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
-# greater be used for all traffic, and deprecate cleartext access ASAP. +LOGIN+
-# can be secured by TLS encryption.
-#
-# == Deprecated
-#
-# The {SASL mechanisms
-# registry}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
-# marks "LOGIN" as obsoleted in favor of "PLAIN". It is included here for
-# compatibility with existing servers. See
-# {draft-murchison-sasl-login}[https://www.iana.org/go/draft-murchison-sasl-login]
-# for both specification and deprecation.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:20
-class Net::IMAP::SASL::LoginAuthenticator
- # @return [LoginAuthenticator] a new instance of LoginAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:26
- def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg7); end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:55
- def done?; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:40
- def initial_response?; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:42
- def process(data); end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:23
-Net::IMAP::SASL::LoginAuthenticator::STATE_DONE = T.let(T.unsafe(nil), Symbol)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:22
-Net::IMAP::SASL::LoginAuthenticator::STATE_PASSWORD = T.let(T.unsafe(nil), Symbol)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:21
-Net::IMAP::SASL::LoginAuthenticator::STATE_USER = T.let(T.unsafe(nil), Symbol)
-
-# Abstract base class for the SASL mechanisms defined in
-# RFC7628[https://www.rfc-editor.org/rfc/rfc7628]:
-# * OAUTHBEARER[rdoc-ref:OAuthBearerAuthenticator]
-# (OAuthBearerAuthenticator)
-# * OAUTH10A
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:14
-class Net::IMAP::SASL::OAuthAuthenticator
- include ::Net::IMAP::SASL::GS2Header
-
- # Creates an RFC7628[https://www.rfc-editor.org/rfc/rfc7628] OAuth
- # authenticator.
- #
- # ==== Parameters
- #
- # See child classes for required parameter(s). The following parameters
- # are all optional, but it is worth noting that application protocols
- # are allowed to require #authzid (or other parameters, such as
- # #host or #port) as are specific server implementations.
- #
- # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
- #
- # _optional_ #username — An alias for #authzid.
- #
- # Note that, unlike some other authenticators, +username+ sets the
- # _authorization_ identity and not the _authentication_ identity. The
- # authentication identity is established for the client by the OAuth
- # token.
- #
- # * _optional_ #host — Hostname to which the client connected.
- # * _optional_ #port — Service port to which the client connected.
- # * _optional_ #mthd — HTTP method
- # * _optional_ #path — HTTP path data
- # * _optional_ #post — HTTP post data
- # * _optional_ #qs — HTTP query string
- #
- # _optional_ #query — An alias for #qs
- #
- # Any other keyword parameters are quietly ignored.
- #
- # @return [OAuthAuthenticator] a new instance of OAuthAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:84
- def initialize(authzid: T.unsafe(nil), host: T.unsafe(nil), port: T.unsafe(nil), username: T.unsafe(nil), query: T.unsafe(nil), mthd: T.unsafe(nil), path: T.unsafe(nil), post: T.unsafe(nil), qs: T.unsafe(nil), **_arg9); end
-
- # Value of the HTTP Authorization header
- #
- # Implemented by subclasses.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:124
- def authorization; end
-
- # Authorization identity: an identity to act as or on behalf of. The
- # identity form is application protocol specific. If not provided or
- # left blank, the server derives an authorization identity from the
- # authentication identity. The server is responsible for verifying the
- # client's credentials and verifying that the identity it associates
- # with the client's authentication identity is allowed to act as (or on
- # behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:29
- def authzid; end
-
- # Returns true when the initial client response was sent.
- #
- # The authentication should not succeed unless this returns true, but it
- # does *not* indicate success.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:119
- def done?; end
-
- # Hostname to which the client connected. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:33
- def host; end
-
- # The {RFC7628 §3.1}[https://www.rfc-editor.org/rfc/rfc7628#section-3.1]
- # formatted response.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:99
- def initial_client_response; end
-
- # Stores the most recent server "challenge". When authentication fails,
- # this may hold information about the failure reason, as JSON.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:53
- def last_server_response; end
-
- # HTTP method. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:39
- def mthd; end
-
- # HTTP path data. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:42
- def path; end
-
- # Service port to which the client connected. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:36
- def port; end
-
- # HTTP post data. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:45
- def post; end
-
- # Returns initial_client_response the first time, then "^A".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:108
- def process(data); end
-
- # The query string. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:48
- def qs; end
-
- # The query string. (optional)
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:49
- def query; end
-
- # Authorization identity: an identity to act as or on behalf of. The
- # identity form is application protocol specific. If not provided or
- # left blank, the server derives an authorization identity from the
- # authentication identity. The server is responsible for verifying the
- # client's credentials and verifying that the identity it associates
- # with the client's authentication identity is allowed to act as (or on
- # behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:30
- def username; end
-end
-
-# Authenticator for the "+OAUTHBEARER+" SASL mechanism, specified in
-# RFC7628[https://www.rfc-editor.org/rfc/rfc7628]. Authenticates using
-# OAuth 2.0 bearer tokens, as described in
-# RFC6750[https://www.rfc-editor.org/rfc/rfc6750]. Use via
-# Net::IMAP#authenticate.
-#
-# RFC6750[https://www.rfc-editor.org/rfc/rfc6750] requires Transport Layer
-# Security (TLS) to secure the protocol interaction between the client and
-# the resource server. TLS _MUST_ be used for +OAUTHBEARER+ to protect
-# the bearer token.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:138
-class Net::IMAP::SASL::OAuthBearerAuthenticator < ::Net::IMAP::SASL::OAuthAuthenticator
- # :call-seq:
- # new(oauth2_token, **options) -> authenticator
- # new(authzid, oauth2_token, **options) -> authenticator
- # new(oauth2_token:, **options) -> authenticator
- #
- # Creates an Authenticator for the "+OAUTHBEARER+" SASL mechanism.
- #
- # Called by Net::IMAP#authenticate and similar methods on other clients.
- #
- # ==== Parameters
- #
- # * #oauth2_token — An OAuth2 bearer token
- #
- # All other keyword parameters are passed to
- # {super}[rdoc-ref:OAuthAuthenticator::new] (see OAuthAuthenticator).
- # The most common ones are:
- #
- # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
- #
- # _optional_ #username — An alias for #authzid.
- #
- # Note that, unlike some other authenticators, +username+ sets the
- # _authorization_ identity and not the _authentication_ identity. The
- # authentication identity is established for the client by
- # #oauth2_token.
- #
- # * _optional_ #host — Hostname to which the client connected.
- # * _optional_ #port — Service port to which the client connected.
- #
- # Although only oauth2_token is required by this mechanism, it is worth
- # noting that application protocols are allowed to
- # require #authzid (or other parameters, such as #host
- # _or_ #port) as are specific server implementations.
- #
- # @return [OAuthBearerAuthenticator] a new instance of OAuthBearerAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:177
- def initialize(arg1 = T.unsafe(nil), arg2 = T.unsafe(nil), oauth2_token: T.unsafe(nil), secret: T.unsafe(nil), **args, &blk); end
-
- # Value of the HTTP Authorization header
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:193
- def authorization; end
-
- # :call-seq:
- # initial_response? -> true
- #
- # +OAUTHBEARER+ sends an initial client response.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:190
- def initial_response?; end
-
- # An OAuth 2.0 bearer token. See {RFC-6750}[https://www.rfc-editor.org/rfc/rfc6750]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:141
- def oauth2_token; end
-
- # An OAuth 2.0 bearer token. See {RFC-6750}[https://www.rfc-editor.org/rfc/rfc6750]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:142
- def secret; end
-end
-
-# Authenticator for the "+PLAIN+" SASL mechanism, specified in
-# RFC-4616[https://www.rfc-editor.org/rfc/rfc4616]. See Net::IMAP#authenticate.
-#
-# +PLAIN+ authentication sends the password in cleartext.
-# RFC-3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
-# cleartext authentication until after TLS has been negotiated.
-# RFC-8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
-# greater be used for all traffic, and deprecate cleartext access ASAP. +PLAIN+
-# can be secured by TLS encryption.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:12
-class Net::IMAP::SASL::PlainAuthenticator
- # :call-seq:
- # new(username, password, authzid: nil, **) -> authenticator
- # new(username:, password:, authzid: nil, **) -> authenticator
- # new(authcid:, password:, authzid: nil, **) -> authenticator
- #
- # Creates an Authenticator for the "+PLAIN+" SASL mechanism.
- #
- # Called by Net::IMAP#authenticate and similar methods on other clients.
- #
- # ==== Parameters
- #
- # * #authcid ― Authentication identity that is associated with #password.
- #
- # #username ― An alias for #authcid.
- #
- # * #password ― A password or passphrase associated with the #authcid.
- #
- # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
- #
- # When +authzid+ is not set, the server should derive the authorization
- # identity from the authentication identity.
- #
- # Any other keyword parameters are quietly ignored.
- #
- # @raise [ArgumentError]
- # @return [PlainAuthenticator] a new instance of PlainAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:67
- def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), secret: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), authzid: T.unsafe(nil), **_arg7); end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
- # "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
- # abbreviate this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:25
- def authcid; end
-
- # Authorization identity: an identity to act as or on behalf of. The identity
- # form is application protocol specific. If not provided or left blank, the
- # server derives an authorization identity from the authentication identity.
- # The server is responsible for verifying the client's credentials and
- # verifying that the identity it associates with the client's authentication
- # identity is allowed to act as (or on behalf of) the authorization identity.
- #
- # For example, an administrator or superuser might take on another role:
- #
- # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:42
- def authzid; end
-
- # Returns true when the initial client response was sent.
- #
- # The authentication should not succeed unless this returns true, but it
- # does *not* indicate success.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:99
- def done?; end
-
- # :call-seq:
- # initial_response? -> true
- #
- # +PLAIN+ can send an initial client response.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:86
- def initial_response?; end
-
- # A password or passphrase that matches the #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:28
- def password; end
-
- # Responds with the client's credentials.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:89
- def process(data); end
-
- # A password or passphrase that matches the #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:29
- def secret; end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
- # "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
- # abbreviate this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:24
- def username; end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:14
-Net::IMAP::SASL::PlainAuthenticator::NULL = T.let(T.unsafe(nil), String)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:9
-Net::IMAP::SASL::ProhibitedCodepoint = Net::IMAP::StringPrep::ProhibitedCodepoint
-
-# SASL::ProtocolAdapters modules are meant to be used as mixins for
-# SASL::ClientAdapter and its subclasses. Where the client adapter must
-# be customized for each client library, the protocol adapter mixin
-# handles \SASL requirements that are part of the protocol specification,
-# but not specific to any particular client library. In particular, see
-# {RFC4422 §4}[https://www.rfc-editor.org/rfc/rfc4422.html#section-4]
-#
-# === Interface
-#
-# >>>
-# NOTE: This API is experimental, and may change.
-#
-# - {#command_name}[rdoc-ref:Generic#command_name] -- The name of the
-# command used to to initiate an authentication exchange.
-# - {#service}[rdoc-ref:Generic#service] -- The GSSAPI service name.
-# - {#encode_ir}[rdoc-ref:Generic#encode_ir]--Encodes an initial response.
-# - {#decode}[rdoc-ref:Generic#decode] -- Decodes a server challenge.
-# - {#encode}[rdoc-ref:Generic#encode] -- Encodes a client response.
-# - {#cancel_response}[rdoc-ref:Generic#cancel_response] -- The encoded
-# client response used to cancel an authentication exchange.
-#
-# Other protocol requirements of the \SASL authentication exchange are
-# handled by SASL::ClientAdapter.
-#
-# === Included protocol adapters
-#
-# - Generic -- a basic implementation of all of the methods listed above.
-# - IMAP -- An adapter for the IMAP4 protocol.
-# - SMTP -- An adapter for the \SMTP protocol with the +AUTH+ capability.
-# - POP -- An adapter for the POP3 protocol with the +SASL+ capability.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:37
-module Net::IMAP::SASL::ProtocolAdapters; end
-
-# See SASL::ProtocolAdapters@Interface.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:39
-module Net::IMAP::SASL::ProtocolAdapters::Generic
- # Returns the message used by the client to abort an authentication
- # exchange.
- #
- # The generic implementation returns "*".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:73
- def cancel_response; end
-
- # The name of the protocol command used to initiate a \SASL
- # authentication exchange.
- #
- # The generic implementation returns "AUTHENTICATE".
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:44
- def command_name; end
-
- # Decodes a server challenge string.
- #
- # The generic implementation returns the Base64 decoding of +string+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:67
- def decode(string); end
-
- # Encodes a client response string.
- #
- # The generic implementation returns the Base64 encoding of +string+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:62
- def encode(string); end
-
- # Encodes an initial response string.
- #
- # The generic implementation returns the result of #encode, or returns
- # "=" when +string+ is empty.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:57
- def encode_ir(string); end
-
- # A service name from the {GSSAPI/Kerberos/SASL Service Names
- # registry}[https://www.iana.org/assignments/gssapi-service-names/gssapi-service-names.xhtml].
- #
- # The generic implementation returns "host", which is the
- # generic GSSAPI host-based service name.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:51
- def service; end
-end
-
-# See RFC-3501 (IMAP4rev1), RFC-4959 (SASL-IR capability),
-# and RFC-9051 (IMAP4rev2).
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:78
-module Net::IMAP::SASL::ProtocolAdapters::IMAP
- include ::Net::IMAP::SASL::ProtocolAdapters::Generic
-
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:80
- def service; end
-end
-
-# See RFC-5034 (SASL capability).
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:91
-module Net::IMAP::SASL::ProtocolAdapters::POP
- include ::Net::IMAP::SASL::ProtocolAdapters::Generic
-
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:93
- def command_name; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:94
- def service; end
-end
-
-# See RFC-4954 (AUTH capability).
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:84
-module Net::IMAP::SASL::ProtocolAdapters::SMTP
- include ::Net::IMAP::SASL::ProtocolAdapters::Generic
-
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:86
- def command_name; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:87
- def service; end
-end
-
-# Alias for Net::IMAP::StringPrep::SASLprep.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:6
-Net::IMAP::SASL::SASLprep = Net::IMAP::StringPrep::SASLprep
-
-# For method descriptions,
-# see {RFC5802 §2.2}[https://www.rfc-editor.org/rfc/rfc5802#section-2.2]
-# and {RFC5802 §3}[https://www.rfc-editor.org/rfc/rfc5802#section-3].
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:10
-module Net::IMAP::SASL::ScramAlgorithm
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:24
- def H(str); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:26
- def HMAC(key, data); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:13
- def Hi(str, salt, iterations); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:11
- def Normalize(str); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:28
- def XOR(str1, str2); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:35
- def auth_message; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:48
- def client_key; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:53
- def client_proof; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:51
- def client_signature; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:44
- def salted_password; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:49
- def server_key; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:52
- def server_signature; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:50
- def stored_key; end
-end
-
-# Abstract base class for the "+SCRAM-*+" family of SASL mechanisms,
-# defined in RFC5802[https://www.rfc-editor.org/rfc/rfc5802]. Use via
-# Net::IMAP#authenticate.
-#
-# Directly supported:
-# * +SCRAM-SHA-1+ --- ScramSHA1Authenticator
-# * +SCRAM-SHA-256+ --- ScramSHA256Authenticator
-#
-# New +SCRAM-*+ mechanisms can easily be added for any hash algorithm
-# supported by
-# OpenSSL::Digest[https://ruby.github.io/openssl/OpenSSL/Digest.html].
-# Subclasses need only set an appropriate +DIGEST_NAME+ constant.
-#
-# === SCRAM algorithm
-#
-# See the documentation and method definitions on ScramAlgorithm for an
-# overview of the algorithm. The different mechanisms differ only by
-# which hash function that is used (or by support for channel binding with
-# +-PLUS+).
-#
-# See also the methods on GS2Header.
-#
-# ==== Server messages
-#
-# As server messages are received, they are validated and loaded into
-# the various attributes, e.g: #snonce, #salt, #iterations, #verifier,
-# #server_error, etc.
-#
-# Unlike many other SASL mechanisms, the +SCRAM-*+ family supports mutual
-# authentication and can return server error data in the server messages.
-# If #process raises an Error for the server-final-message, then
-# server_error may contain error details.
-#
-# === TLS Channel binding
-#
-# The SCRAM-*-PLUS mechanisms and channel binding are not
-# supported yet.
-#
-# === Caching SCRAM secrets
-#
-# Caching of salted_password, client_key, stored_key, and server_key
-# is not supported yet.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:56
-class Net::IMAP::SASL::ScramAuthenticator
- include ::Net::IMAP::SASL::GS2Header
- include ::Net::IMAP::SASL::ScramAlgorithm
-
- # :call-seq:
- # new(username, password, **options) -> auth_ctx
- # new(username:, password:, **options) -> auth_ctx
- # new(authcid:, password:, **options) -> auth_ctx
- #
- # Creates an authenticator for one of the "+SCRAM-*+" SASL mechanisms.
- # Each subclass defines #digest to match a specific mechanism.
- #
- # Called by Net::IMAP#authenticate and similar methods on other clients.
- #
- # === Parameters
- #
- # * #authcid ― Identity whose #password is used.
- #
- # #username - An alias for #authcid.
- # * #password ― Password or passphrase associated with this #username.
- # * _optional_ #authzid ― Alternate identity to act as or on behalf of.
- # * _optional_ #min_iterations - Overrides the default value (4096).
- #
- # Any other keyword parameters are quietly ignored.
- #
- # @return [ScramAuthenticator] a new instance of ScramAuthenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:80
- def initialize(username_arg = T.unsafe(nil), password_arg = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), authzid: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), min_iterations: T.unsafe(nil), cnonce: T.unsafe(nil), **options); end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term
- # +username+. "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
- # abbreviate this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:108
- def authcid; end
-
- # Authorization identity: an identity to act as or on behalf of. The
- # identity form is application protocol specific. If not provided or
- # left blank, the server derives an authorization identity from the
- # authentication identity. For example, an administrator or superuser
- # might take on another role:
- #
- # imap.authenticate "SCRAM-SHA-256", "root", passwd, authzid: "user"
- #
- # The server is responsible for verifying the client's credentials and
- # verifying that the identity it associates with the client's
- # authentication identity is allowed to act as (or on behalf of) the
- # authorization identity.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:126
- def authzid; end
-
- # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
- # +cbind-input+.
- #
- # >>>
- # *TODO:* implement channel binding, appending +cbind-data+ here.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:251
- def cbind_input; end
-
- # The client nonce, generated by SecureRandom
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:133
- def cnonce; end
-
- # Returns a new OpenSSL::Digest object, set to the appropriate hash
- # function for the chosen mechanism.
- #
- # The class's +DIGEST_NAME+ constant must be set to the name of an
- # algorithm supported by OpenSSL::Digest.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:155
- def digest; end
-
- # Is the authentication exchange complete?
- #
- # If false, another server continuation is required.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:185
- def done?; end
-
- # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
- # +client-first-message+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:159
- def initial_client_response; end
-
- # The iteration count for the selected hash function and user
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:142
- def iterations; end
-
- # The minimal allowed iteration count. Lower #iterations will raise an
- # Error.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:130
- def min_iterations; end
-
- # A password or passphrase that matches the #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:111
- def password; end
-
- # responds to the server's challenges
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:164
- def process(challenge); end
-
- # The salt used by the server for this user
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:139
- def salt; end
-
- # A password or passphrase that matches the #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:112
- def secret; end
-
- # An error reported by the server during the \SASL exchange.
- #
- # Does not include errors reported by the protocol, e.g.
- # Net::IMAP::NoResponseError.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:148
- def server_error; end
-
- # The server nonce, which must start with #cnonce
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:136
- def snonce; end
-
- # Authentication identity: the identity that matches the #password.
- #
- # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term
- # +username+. "Authentication identity" is the generic term used by
- # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
- # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
- # abbreviate this to +authcid+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:107
- def username; end
-
- private
-
- # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
- # +client-final-message-without-proof+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:240
- def client_final_message_without_proof; end
-
- # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
- # +client-first-message-bare+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:225
- def client_first_message_bare; end
-
- # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
- # +client-final-message+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:233
- def final_message_with_proof; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:192
- def format_message(hash); end
-
- # RFC5802 specifies "that the order of attributes in client or server
- # messages is fixed, with the exception of extension attributes", but
- # this parses it simply as a hash, without respect to order. Note that
- # repeated keys (violating the spec) will use the last value.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:257
- def parse_challenge(challenge); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:211
- def recv_server_final_message(server_final_message); end
-
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:194
- def recv_server_first_message(server_first_message); end
-
- # Need to store this for auth_message
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:190
- def server_first_message; end
-end
-
-# Authenticator for the "+SCRAM-SHA-1+" SASL mechanism, defined in
-# RFC5802[https://www.rfc-editor.org/rfc/rfc5802].
-#
-# Uses the "SHA-1" digest algorithm from OpenSSL::Digest.
-#
-# See ScramAuthenticator.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:271
-class Net::IMAP::SASL::ScramSHA1Authenticator < ::Net::IMAP::SASL::ScramAuthenticator; end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:272
-Net::IMAP::SASL::ScramSHA1Authenticator::DIGEST_NAME = T.let(T.unsafe(nil), String)
-
-# Authenticator for the "+SCRAM-SHA-256+" SASL mechanism, defined in
-# RFC7677[https://www.rfc-editor.org/rfc/rfc7677].
-#
-# Uses the "SHA-256" digest algorithm from OpenSSL::Digest.
-#
-# See ScramAuthenticator.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:281
-class Net::IMAP::SASL::ScramSHA256Authenticator < ::Net::IMAP::SASL::ScramAuthenticator; end
-
-# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:282
-Net::IMAP::SASL::ScramSHA256Authenticator::DIGEST_NAME = T.let(T.unsafe(nil), String)
-
-# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:7
-Net::IMAP::SASL::StringPrep = Net::IMAP::StringPrep
-
-# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:10
-Net::IMAP::SASL::StringPrepError = Net::IMAP::StringPrep::StringPrepError
-
-# Authenticator for the "+XOAUTH2+" SASL mechanism. This mechanism was
-# originally created for GMail and widely adopted by hosted email providers.
-# +XOAUTH2+ has been documented by
-# Google[https://developers.google.com/gmail/imap/xoauth2-protocol] and
-# Microsoft[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth].
-#
-# This mechanism requires an OAuth2 access token which has been authorized
-# with the appropriate OAuth2 scopes to access the user's services. Most of
-# these scopes are not standardized---consult each service provider's
-# documentation for their scopes.
-#
-# Although this mechanism was never standardized and has been obsoleted by
-# "+OAUTHBEARER+", it is still very widely supported.
-#
-# See Net::IMAP::SASL::OAuthBearerAuthenticator.
-#
-# pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:18
-class Net::IMAP::SASL::XOAuth2Authenticator
- # :call-seq:
- # new(username, oauth2_token, **) -> authenticator
- # new(username:, oauth2_token:, **) -> authenticator
- # new(authzid:, oauth2_token:, **) -> authenticator
- #
- # Creates an Authenticator for the "+XOAUTH2+" SASL mechanism, as specified by
- # Google[https://developers.google.com/gmail/imap/xoauth2-protocol],
- # Microsoft[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth]
- # and Yahoo[https://senders.yahooinc.com/developer/documentation].
- #
- # === Properties
- #
- # * #username --- the username for the account being accessed.
- #
- # #authzid --- an alias for #username.
- #
- # Note that, unlike some other authenticators, +username+ sets the
- # _authorization_ identity and not the _authentication_ identity. The
- # authenticated identity is established for the client with the OAuth token.
- #
- # * #oauth2_token --- An OAuth2.0 access token which is authorized to access
- # the service for #username.
- #
- # Any other keyword parameters are quietly ignored.
- #
- # @return [XOAuth2Authenticator] a new instance of XOAuth2Authenticator
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:71
- def initialize(user = T.unsafe(nil), token = T.unsafe(nil), username: T.unsafe(nil), oauth2_token: T.unsafe(nil), authzid: T.unsafe(nil), secret: T.unsafe(nil), **_arg6); end
-
- # It is unclear from {Google's original XOAUTH2
- # documentation}[https://developers.google.com/gmail/imap/xoauth2-protocol],
- # whether "User" refers to the authentication identity (+authcid+) or the
- # authorization identity (+authzid+). The authentication identity is
- # established for the client by the OAuth token, so it seems that +username+
- # must be the authorization identity.
- #
- # {Microsoft's documentation for shared
- # mailboxes}[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#sasl-xoauth2-authentication-for-shared-mailboxes-in-office-365]
- # _clearly_ indicates that the Office 365 server interprets it as the
- # authorization identity.
- #
- # Although they _should_ validate that the token has been authorized to access
- # the service for +username+, _some_ servers appear to ignore this field,
- # relying only the identity and scope authorized by the token.
- # Note that, unlike most other authenticators, #username is an alias for the
- # authorization identity and not the authentication identity. The
- # authenticated identity is established for the client by the #oauth2_token.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:40
- def authzid; end
-
- # Returns true when the initial client response was sent.
- #
- # The authentication should not succeed unless this returns true, but it
- # does *not* indicate success.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:98
- def done?; end
-
- # :call-seq:
- # initial_response? -> true
- #
- # +XOAUTH2+ can send an initial client response.
- #
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:84
- def initial_response?; end
-
- # An OAuth2 access token which has been authorized with the appropriate OAuth2
- # scopes to use the service for #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:44
- def oauth2_token; end
-
- # Returns the XOAUTH2 formatted response, which combines the +username+
- # with the +oauth2_token+.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:88
- def process(_data); end
-
- # An OAuth2 access token which has been authorized with the appropriate OAuth2
- # scopes to use the service for #username.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:45
- def secret; end
-
- # It is unclear from {Google's original XOAUTH2
- # documentation}[https://developers.google.com/gmail/imap/xoauth2-protocol],
- # whether "User" refers to the authentication identity (+authcid+) or the
- # authorization identity (+authzid+). The authentication identity is
- # established for the client by the OAuth token, so it seems that +username+
- # must be the authorization identity.
- #
- # {Microsoft's documentation for shared
- # mailboxes}[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#sasl-xoauth2-authentication-for-shared-mailboxes-in-office-365]
- # _clearly_ indicates that the Office 365 server interprets it as the
- # authorization identity.
- #
- # Although they _should_ validate that the token has been authorized to access
- # the service for +username+, _some_ servers appear to ignore this field,
- # relying only the identity and scope authorized by the token.
- #
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:35
- def username; end
-
- private
-
- # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:102
- def build_oauth2_string(username, oauth2_token); end
-end
-
-# Experimental
-#
-# pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:7
-class Net::IMAP::SASLAdapter < ::Net::IMAP::SASL::ClientAdapter
- include ::Net::IMAP::SASL::ProtocolAdapters::IMAP
-
- # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:15
- def drop_connection; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:16
- def drop_connection!; end
-
- # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:13
- def response_errors; end
-
- # @return [Boolean]
- #
- # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:14
- def sasl_ir_capable?; end
-end
-
-# pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:10
-Net::IMAP::SASLAdapter::RESPONSE_ERRORS = T.let(T.unsafe(nil), Array)
-
-# Regexps and utility methods for implementing stringprep profiles. The
-# \StringPrep algorithm is defined by
-# {RFC-3454}[https://www.rfc-editor.org/rfc/rfc3454.html]. Each
-# codepoint table defined in the RFC-3454 appendices is matched by a Regexp
-# defined in this module.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep.rb:11
-module Net::IMAP::StringPrep
- private
-
- # Checks that +string+ obeys all of the "Bidirectional Characters"
- # requirements in RFC-3454, §6:
- #
- # * The characters in \StringPrep\[\"C.8\"] MUST be prohibited
- # * If a string contains any RandALCat character, the string MUST NOT
- # contain any LCat character.
- # * If a string contains any RandALCat character, a RandALCat
- # character MUST be the first character of the string, and a
- # RandALCat character MUST be the last character of the string.
- #
- # This is usually combined with #check_prohibited!, so table "C.8" is only
- # checked when c_8: true.
- #
- # Raises either ProhibitedCodepoint or BidiStringError unless all
- # requirements are met. +profile+ is an optional string which will be
- # added to any exception that is raised (it does not affect behavior).
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:144
- def check_bidi!(string, c_8: T.unsafe(nil), profile: T.unsafe(nil)); end
-
- # Checks +string+ for any codepoint in +tables+. Raises a
- # ProhibitedCodepoint describing the first matching table.
- #
- # Also checks bidirectional characters, when bidi: true, which may
- # raise a BidiStringError.
- #
- # +profile+ is an optional string which will be added to any exception that
- # is raised (it does not affect behavior).
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:104
- def check_prohibited!(string, *tables, bidi: T.unsafe(nil), unassigned: T.unsafe(nil), stored: T.unsafe(nil), profile: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:88
- def map_tables!(string, *tables); end
-
- # >>>
- # 1. Map -- For each character in the input, check if it has a mapping
- # and, if so, replace it with its mapping. This is described in
- # section 3.
- #
- # 2. Normalize -- Possibly normalize the result of step 1 using Unicode
- # normalization. This is described in section 4.
- #
- # 3. Prohibit -- Check for any characters that are not allowed in the
- # output. If any are found, return an error. This is described in
- # section 5.
- #
- # 4. Check bidi -- Possibly check for right-to-left characters, and if
- # any are found, make sure that the whole string satisfies the
- # requirements for bidirectional strings. If the string does not
- # satisfy the requirements for bidirectional strings, return an
- # error. This is described in section 6.
- #
- # The above steps MUST be performed in the order given to comply with
- # this specification.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:76
- def stringprep(string, maps:, normalization:, prohibited:, **opts); end
-
- class << self
- # Returns a Regexp matching the given +table+ name.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:49
- def [](table); end
-
- # Checks that +string+ obeys all of the "Bidirectional Characters"
- # requirements in RFC-3454, §6:
- #
- # * The characters in \StringPrep\[\"C.8\"] MUST be prohibited
- # * If a string contains any RandALCat character, the string MUST NOT
- # contain any LCat character.
- # * If a string contains any RandALCat character, a RandALCat
- # character MUST be the first character of the string, and a
- # RandALCat character MUST be the last character of the string.
- #
- # This is usually combined with #check_prohibited!, so table "C.8" is only
- # checked when c_8: true.
- #
- # Raises either ProhibitedCodepoint or BidiStringError unless all
- # requirements are met. +profile+ is an optional string which will be
- # added to any exception that is raised (it does not affect behavior).
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:144
- def check_bidi!(string, c_8: T.unsafe(nil), profile: T.unsafe(nil)); end
-
- # Checks +string+ for any codepoint in +tables+. Raises a
- # ProhibitedCodepoint describing the first matching table.
- #
- # Also checks bidirectional characters, when bidi: true, which may
- # raise a BidiStringError.
- #
- # +profile+ is an optional string which will be added to any exception that
- # is raised (it does not affect behavior).
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:104
- def check_prohibited!(string, *tables, bidi: T.unsafe(nil), unassigned: T.unsafe(nil), stored: T.unsafe(nil), profile: T.unsafe(nil)); end
-
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:88
- def map_tables!(string, *tables); end
-
- # >>>
- # 1. Map -- For each character in the input, check if it has a mapping
- # and, if so, replace it with its mapping. This is described in
- # section 3.
- #
- # 2. Normalize -- Possibly normalize the result of step 1 using Unicode
- # normalization. This is described in section 4.
- #
- # 3. Prohibit -- Check for any characters that are not allowed in the
- # output. If any are found, return an error. This is described in
- # section 5.
- #
- # 4. Check bidi -- Possibly check for right-to-left characters, and if
- # any are found, make sure that the whole string satisfies the
- # requirements for bidirectional strings. If the string does not
- # satisfy the requirements for bidirectional strings, return an
- # error. This is described in section 6.
- #
- # The above steps MUST be performed in the order given to comply with
- # this specification.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:76
- def stringprep(string, maps:, normalization:, prohibited:, **opts); end
- end
-end
-
-# StringPrepError raised when +string+ contains bidirectional characters
-# which violate the StringPrep requirements.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep.rb:45
-class Net::IMAP::StringPrep::BidiStringError < ::Net::IMAP::StringPrep::StringPrepError; end
-
-# Defined in RFC3491[https://www.rfc-editor.org/rfc/rfc3491], the +nameprep+
-# profile of "Stringprep" is:
-# >>>
-# used by the IDNA protocol for preparing domain names; it is not
-# designed for any other purpose. It is explicitly not designed for
-# processing arbitrary free text and SHOULD NOT be used for that
-# purpose.
-#
-# ...
-#
-# This profile specifies prohibiting using the following tables...:
-#
-# - C.1.2 (Non-ASCII space characters)
-# - C.2.2 (Non-ASCII control characters)
-# - C.3 (Private use characters)
-# - C.4 (Non-character code points)
-# - C.5 (Surrogate codes)
-# - C.6 (Inappropriate for plain text)
-# - C.7 (Inappropriate for canonical representation)
-# - C.8 (Change display properties are deprecated)
-# - C.9 (Tagging characters)
-#
-# IMPORTANT NOTE: This profile MUST be used with the IDNA protocol.
-# The IDNA protocol has additional prohibitions that are checked
-# outside of this profile.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:32
-module Net::IMAP::StringPrep::NamePrep
- private
-
- # pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:54
- def nameprep(string, **opts); end
-
- class << self
- # pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:54
- def nameprep(string, **opts); end
- end
-end
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §6
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:50
-Net::IMAP::StringPrep::NamePrep::CHECK_BIDI = T.let(T.unsafe(nil), TrueClass)
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §3
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:41
-Net::IMAP::StringPrep::NamePrep::MAPPING_TABLES = T.let(T.unsafe(nil), Array)
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §4
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:44
-Net::IMAP::StringPrep::NamePrep::NORMALIZATION = T.let(T.unsafe(nil), Symbol)
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §5
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:47
-Net::IMAP::StringPrep::NamePrep::PROHIBITED_TABLES = T.let(T.unsafe(nil), Array)
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §10
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:35
-Net::IMAP::StringPrep::NamePrep::STRINGPREP_PROFILE = T.let(T.unsafe(nil), String)
-
-# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §2
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:38
-Net::IMAP::StringPrep::NamePrep::UNASSIGNED_TABLE = T.let(T.unsafe(nil), String)
-
-# StringPrepError raised when +string+ contains a codepoint prohibited by
-# +table+.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep.rb:31
-class Net::IMAP::StringPrep::ProhibitedCodepoint < ::Net::IMAP::StringPrep::StringPrepError
- # @return [ProhibitedCodepoint] a new instance of ProhibitedCodepoint
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:34
- def initialize(table, *args, **kwargs); end
-
- # Returns the value of attribute table.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:32
- def table; end
-end
-
-# SASLprep#saslprep can be used to prepare a string according to [RFC4013].
-#
-# \SASLprep maps characters three ways: to nothing, to space, and Unicode
-# normalization form KC. \SASLprep prohibits codepoints from nearly all
-# standard StringPrep tables (RFC3454, Appendix "C"), and uses
-# \StringPrep's standard bidirectional characters requirements (Appendix
-# "D"). \SASLprep also uses \StringPrep's definition of "Unassigned"
-# codepoints (Appendix "A").
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:15
-module Net::IMAP::StringPrep::SASLprep
- private
-
- # Prepares a UTF-8 +string+ for comparison, using the \SASLprep profile
- # RFC4013 of the StringPrep algorithm RFC3454.
- #
- # By default, prohibited strings will return +nil+. When +exception+ is
- # +true+, a StringPrepError describing the violation will be raised.
- #
- # When +stored+ is +true+, "unassigned" codepoints will be prohibited.
- # For \StringPrep and the \SASLprep profile, "unassigned" refers to
- # Unicode 3.2, and not later versions. See RFC3454 §7 for more
- # information.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:42
- def saslprep(str, stored: T.unsafe(nil), exception: T.unsafe(nil)); end
-
- class << self
- # Prepares a UTF-8 +string+ for comparison, using the \SASLprep profile
- # RFC4013 of the StringPrep algorithm RFC3454.
- #
- # By default, prohibited strings will return +nil+. When +exception+ is
- # +true+, a StringPrepError describing the violation will be raised.
- #
- # When +stored+ is +true+, "unassigned" codepoints will be prohibited.
- # For \StringPrep and the \SASLprep profile, "unassigned" refers to
- # Unicode 3.2, and not later versions. See RFC3454 §7 for more
- # information.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:42
- def saslprep(str, stored: T.unsafe(nil), exception: T.unsafe(nil)); end
- end
-end
-
-# Used to short-circuit strings that don't need preparation.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:18
-Net::IMAP::StringPrep::SASLprep::ASCII_NO_CTRLS = T.let(T.unsafe(nil), Regexp)
-
-# Bidirectional Characters [StringPrep, §6]
-#
-# A Regexp for strings that don't satisfy StringPrep's Bidirectional
-# Characters rules.
-#
-# Equal to StringPrep::Tables::BIDI_FAILURE.
-# Redefined here to avoid loading StringPrep::Tables unless necessary.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:79
-Net::IMAP::StringPrep::SASLprep::BIDI_FAILURE = T.let(T.unsafe(nil), Regexp)
-
-# RFC4013 §2.1 Mapping - mapped to nothing
-# >>>
-# the "commonly mapped to nothing" characters
-# (\StringPrep\[\"B.1\"]) that can be mapped to nothing.
-#
-# Equal to \StringPrep\[\"B.1\"].
-# Redefined here to avoid loading StringPrep::Tables unless necessary.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:27
-Net::IMAP::StringPrep::SASLprep::MAP_TO_NOTHING = T.let(T.unsafe(nil), Regexp)
-
-# RFC4013 §2.1 Mapping - mapped to space
-# >>>
-# non-ASCII space characters (\StringPrep\[\"C.1.2\"]) that can
-# be mapped to SPACE (U+0020)
-#
-# Equal to \StringPrep\[\"C.1.2\"].
-# Redefined here to avoid loading StringPrep::Tables unless necessary.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:18
-Net::IMAP::StringPrep::SASLprep::MAP_TO_SPACE = T.let(T.unsafe(nil), Regexp)
-
-# A Regexp matching strings prohibited by RFC4013 §2.3 and §2.4.
-#
-# This combines PROHIBITED_OUTPUT and BIDI_FAILURE.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:84
-Net::IMAP::StringPrep::SASLprep::PROHIBITED = T.let(T.unsafe(nil), Regexp)
-
-# A Regexp matching codepoints prohibited by RFC4013 §2.3.
-#
-# This combines all of the TABLES_PROHIBITED tables.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:54
-Net::IMAP::StringPrep::SASLprep::PROHIBITED_OUTPUT = T.let(T.unsafe(nil), Regexp)
-
-# A Regexp matching codepoints prohibited by RFC4013 §2.3 and §2.5.
-#
-# This combines PROHIBITED_OUTPUT and UNASSIGNED.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:68
-Net::IMAP::StringPrep::SASLprep::PROHIBITED_OUTPUT_STORED = T.let(T.unsafe(nil), Regexp)
-
-# A Regexp matching strings prohibited by RFC4013 §2.3, §2.4, and §2.5.
-#
-# This combines PROHIBITED_OUTPUT_STORED and BIDI_FAILURE.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:91
-Net::IMAP::StringPrep::SASLprep::PROHIBITED_STORED = T.let(T.unsafe(nil), Regexp)
-
-# RFC4013 §2.3 Prohibited Output
-# >>>
-# * Non-ASCII space characters — \StringPrep\[\"C.1.2\"]
-# * ASCII control characters — \StringPrep\[\"C.2.1\"]
-# * Non-ASCII control characters — \StringPrep\[\"C.2.2\"]
-# * Private Use characters — \StringPrep\[\"C.3\"]
-# * Non-character code points — \StringPrep\[\"C.4\"]
-# * Surrogate code points — \StringPrep\[\"C.5\"]
-# * Inappropriate for plain text characters — \StringPrep\[\"C.6\"]
-# * Inappropriate for canonical representation characters — \StringPrep\[\"C.7\"]
-# * Change display properties or deprecated characters — \StringPrep\[\"C.8\"]
-# * Tagging characters — \StringPrep\[\"C.9\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:41
-Net::IMAP::StringPrep::SASLprep::TABLES_PROHIBITED = T.let(T.unsafe(nil), Array)
-
-# Adds unassigned (by Unicode 3.2) codepoints to TABLES_PROHIBITED.
-#
-# RFC4013 §2.5 Unassigned Code Points
-# >>>
-# This profile specifies the \StringPrep\[\"A.1\"] table as its
-# list of unassigned code points.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:49
-Net::IMAP::StringPrep::SASLprep::TABLES_PROHIBITED_STORED = T.let(T.unsafe(nil), Array)
-
-# RFC4013 §2.5 Unassigned Code Points
-# >>>
-# This profile specifies the \StringPrep\[\"A.1\"] table as its
-# list of unassigned code points.
-#
-# Equal to \StringPrep\[\"A.1\"].
-# Redefined here to avoid loading StringPrep::Tables unless necessary.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:63
-Net::IMAP::StringPrep::SASLprep::UNASSIGNED = T.let(T.unsafe(nil), Regexp)
-
-# ArgumentError raised when +string+ is invalid for the stringprep
-# +profile+.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep.rb:19
-class Net::IMAP::StringPrep::StringPrepError < ::ArgumentError
- # @return [StringPrepError] a new instance of StringPrepError
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:22
- def initialize(*args, string: T.unsafe(nil), profile: T.unsafe(nil)); end
-
- # Returns the value of attribute profile.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:20
- def profile; end
-
- # Returns the value of attribute string.
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep.rb:20
- def string; end
-end
-
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:9
-module Net::IMAP::StringPrep::Tables; end
-
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:75
-Net::IMAP::StringPrep::Tables::BIDI_DESC_REQ2 = T.let(T.unsafe(nil), String)
-
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:83
-Net::IMAP::StringPrep::Tables::BIDI_DESC_REQ3 = T.let(T.unsafe(nil), String)
-
-# Bidirectional Characters [StringPrep, §6], Requirement 2
-# >>>
-# If a string contains any RandALCat character, the string MUST NOT
-# contain any LCat character.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:81
-Net::IMAP::StringPrep::Tables::BIDI_FAILS_REQ2 = T.let(T.unsafe(nil), Regexp)
-
-# Bidirectional Characters [StringPrep, §6], Requirement 3
-# >>>
-# If a string contains any RandALCat character, a RandALCat
-# character MUST be the first character of the string, and a
-# RandALCat character MUST be the last character of the string.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:90
-Net::IMAP::StringPrep::Tables::BIDI_FAILS_REQ3 = T.let(T.unsafe(nil), Regexp)
-
-# Bidirectional Characters [StringPrep, §6]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:93
-Net::IMAP::StringPrep::Tables::BIDI_FAILURE = T.let(T.unsafe(nil), Regexp)
-
-# Unassigned code points in Unicode 3.2 \StringPrep\[\"A.1\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:12
-Net::IMAP::StringPrep::Tables::IN_A_1 = T.let(T.unsafe(nil), Regexp)
-
-# Commonly mapped to nothing \StringPrep\[\"B.1\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:15
-Net::IMAP::StringPrep::Tables::IN_B_1 = T.let(T.unsafe(nil), Regexp)
-
-# Mapping for case-folding used with NFKC \StringPrep\[\"B.2\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:18
-Net::IMAP::StringPrep::Tables::IN_B_2 = T.let(T.unsafe(nil), Regexp)
-
-# Mapping for case-folding used with no normalization \StringPrep\[\"B.3\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:21
-Net::IMAP::StringPrep::Tables::IN_B_3 = T.let(T.unsafe(nil), Regexp)
-
-# ASCII space characters \StringPrep\[\"C.1.1\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:33
-Net::IMAP::StringPrep::Tables::IN_C_1_1 = T.let(T.unsafe(nil), Regexp)
-
-# Non-ASCII space characters \StringPrep\[\"C.1.2\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:36
-Net::IMAP::StringPrep::Tables::IN_C_1_2 = T.let(T.unsafe(nil), Regexp)
-
-# ASCII control characters \StringPrep\[\"C.2.1\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:39
-Net::IMAP::StringPrep::Tables::IN_C_2_1 = T.let(T.unsafe(nil), Regexp)
-
-# Non-ASCII control characters \StringPrep\[\"C.2.2\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:42
-Net::IMAP::StringPrep::Tables::IN_C_2_2 = T.let(T.unsafe(nil), Regexp)
-
-# Private use \StringPrep\[\"C.3\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:45
-Net::IMAP::StringPrep::Tables::IN_C_3 = T.let(T.unsafe(nil), Regexp)
-
-# Non-character code points \StringPrep\[\"C.4\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:48
-Net::IMAP::StringPrep::Tables::IN_C_4 = T.let(T.unsafe(nil), Regexp)
-
-# Surrogate codes \StringPrep\[\"C.5\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:51
-Net::IMAP::StringPrep::Tables::IN_C_5 = T.let(T.unsafe(nil), Regexp)
-
-# Inappropriate for plain text \StringPrep\[\"C.6\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:54
-Net::IMAP::StringPrep::Tables::IN_C_6 = T.let(T.unsafe(nil), Regexp)
-
-# Inappropriate for canonical representation \StringPrep\[\"C.7\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:57
-Net::IMAP::StringPrep::Tables::IN_C_7 = T.let(T.unsafe(nil), Regexp)
-
-# Change display properties or are deprecated \StringPrep\[\"C.8\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:60
-Net::IMAP::StringPrep::Tables::IN_C_8 = T.let(T.unsafe(nil), Regexp)
-
-# Tagging characters \StringPrep\[\"C.9\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:63
-Net::IMAP::StringPrep::Tables::IN_C_9 = T.let(T.unsafe(nil), Regexp)
-
-# Characters with bidirectional property "R" or "AL" \StringPrep\[\"D.1\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:66
-Net::IMAP::StringPrep::Tables::IN_D_1 = T.let(T.unsafe(nil), Regexp)
-
-# Used to check req3 of bidirectional checks
-# Matches the negation of the D.1 table
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:70
-Net::IMAP::StringPrep::Tables::IN_D_1_NEGATED = T.let(T.unsafe(nil), Regexp)
-
-# Characters with bidirectional property "L" \StringPrep\[\"D.2\"]
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:73
-Net::IMAP::StringPrep::Tables::IN_D_2 = T.let(T.unsafe(nil), Regexp)
-
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:139
-Net::IMAP::StringPrep::Tables::MAPPINGS = T.let(T.unsafe(nil), Hash)
-
-# Replacements for IN_B.1
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:24
-Net::IMAP::StringPrep::Tables::MAP_B_1 = T.let(T.unsafe(nil), String)
-
-# Replacements for IN_B.2
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:27
-Net::IMAP::StringPrep::Tables::MAP_B_2 = T.let(T.unsafe(nil), Hash)
-
-# Replacements for IN_B.3
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:30
-Net::IMAP::StringPrep::Tables::MAP_B_3 = T.let(T.unsafe(nil), Hash)
-
-# Regexps matching each codepoint table in the RFC-3454 appendices
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:119
-Net::IMAP::StringPrep::Tables::REGEXPS = T.let(T.unsafe(nil), Hash)
-
-# Names of each codepoint table in the RFC-3454 appendices
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:96
-Net::IMAP::StringPrep::Tables::TITLES = T.let(T.unsafe(nil), Hash)
-
-# Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The +trace+
-# profile of \StringPrep is used by the +ANONYMOUS+ \SASL mechanism.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:9
-module Net::IMAP::StringPrep::Trace
- private
-
- # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
- # Profile of "Stringprep":
- # >>>
- # The character repertoire of this profile is Unicode 3.2 [Unicode].
- #
- # No mapping is required by this profile.
- #
- # No Unicode normalization is required by this profile.
- #
- # The list of unassigned code points for this profile is that provided
- # in Appendix A of [StringPrep]. Unassigned code points are not
- # prohibited.
- #
- # Characters from the following tables of [StringPrep] are prohibited:
- # (documented on PROHIBITED_TABLES)
- #
- # This profile requires bidirectional character checking per Section 6
- # of [StringPrep].
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:68
- def stringprep_trace(string, **opts); end
-
- class << self
- # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
- # Profile of "Stringprep":
- # >>>
- # The character repertoire of this profile is Unicode 3.2 [Unicode].
- #
- # No mapping is required by this profile.
- #
- # No Unicode normalization is required by this profile.
- #
- # The list of unassigned code points for this profile is that provided
- # in Appendix A of [StringPrep]. Unassigned code points are not
- # prohibited.
- #
- # Characters from the following tables of [StringPrep] are prohibited:
- # (documented on PROHIBITED_TABLES)
- #
- # This profile requires bidirectional character checking per Section 6
- # of [StringPrep].
- #
- # pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:68
- def stringprep_trace(string, **opts); end
- end
-end
-
-# >>>
-# This profile requires bidirectional character checking per Section 6
-# of [StringPrep].
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:46
-Net::IMAP::StringPrep::Trace::CHECK_BIDI = T.let(T.unsafe(nil), TrueClass)
-
-# >>>
-# No mapping is required by this profile.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:20
-Net::IMAP::StringPrep::Trace::MAPPING_TABLES = T.let(T.unsafe(nil), T.untyped)
-
-# >>>
-# No Unicode normalization is required by this profile.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:24
-Net::IMAP::StringPrep::Trace::NORMALIZATION = T.let(T.unsafe(nil), T.untyped)
-
-# From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
-# Profile of "Stringprep":
-# >>>
-# Characters from the following tables of [StringPrep] are prohibited:
-#
-# - C.2.1 (ASCII control characters)
-# - C.2.2 (Non-ASCII control characters)
-# - C.3 (Private use characters)
-# - C.4 (Non-character code points)
-# - C.5 (Surrogate codes)
-# - C.6 (Inappropriate for plain text)
-# - C.8 (Change display properties are deprecated)
-# - C.9 (Tagging characters)
-#
-# No additional characters are prohibited.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:41
-Net::IMAP::StringPrep::Trace::PROHIBITED_TABLES = T.let(T.unsafe(nil), Array)
-
-# Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3.
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:12
-Net::IMAP::StringPrep::Trace::STRINGPREP_PROFILE = T.let(T.unsafe(nil), String)
-
-# >>>
-# The character repertoire of this profile is Unicode 3.2 [Unicode].
-#
-# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:16
-Net::IMAP::StringPrep::Trace::UNASSIGNED_TABLE = T.let(T.unsafe(nil), String)
-
-# Error raised upon an unknown response from the server.
-#
-# This is different from InvalidResponseError: the response may be a
-# valid extension response and the server may be allowed to send it in
-# this context, but Net::IMAP either does not know how to parse it or
-# how to handle it. This could result from enabling unknown or
-# unhandled extensions. The connection may still be usable,
-# but—depending on context—it may be prudent to disconnect.
-#
-# pkg:gem/net-imap#lib/net/imap/errors.rb:110
-class Net::IMAP::UnknownResponseError < ::Net::IMAP::ResponseError; end
-
-# pkg:gem/net-imap#lib/net/imap.rb:791
-Net::IMAP::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/net-imap@0.6.2.rbi b/sorbet/rbi/gems/net-imap@0.6.2.rbi
new file mode 100644
index 000000000..c5a105162
--- /dev/null
+++ b/sorbet/rbi/gems/net-imap@0.6.2.rbi
@@ -0,0 +1,10964 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `net-imap` gem.
+# Please instead update this file by running `bin/tapioca gem net-imap`.
+
+
+# pkg:gem/net-imap#lib/net/imap.rb:790
+class Net::IMAP < ::Net::Protocol
+ include ::Net::IMAP::DeprecatedClientOptions
+ include ::MonitorMixin
+ extend ::Net::IMAP::Authenticators
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1078
+ def initialize(host, port_or_options = T.unsafe(nil), *deprecated, **options); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3325
+ def add_response_handler(handler = T.unsafe(nil), &block); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2031
+ def append(mailbox, message, flags = T.unsafe(nil), date_time = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1225
+ def auth_capable?(mechanism); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1208
+ def auth_mechanisms; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1520
+ def authenticate(*args, sasl_ir: T.unsafe(nil), **props, &callback); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1184
+ def capabilities; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1235
+ def capabilities_cached?; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1273
+ def capability; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1171
+ def capability?(capability); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1170
+ def capable?(capability); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2047
+ def check; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1248
+ def clear_cached_capabilities; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3254
+ def clear_responses(type = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2057
+ def close; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:861
+ def config; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:966
+ def connection_state; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2787
+ def copy(set, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1631
+ def create(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1643
+ def delete(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1134
+ def disconnect; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1156
+ def disconnected?; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3029
+ def enable(*capabilities); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1613
+ def examine(mailbox, condstore: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2105
+ def expunge; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3278
+ def extract_responses(type); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2630
+ def fetch(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1911
+ def getacl(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1855
+ def getquota(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1834
+ def getquotaroot(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:855
+ def greeting; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:887
+ def host; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1302
+ def id(client_id = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3073
+ def idle(timeout = T.unsafe(nil), &response_handler); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3109
+ def idle_done; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:881
+ def idle_response_timeout; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1715
+ def list(refname, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1552
+ def login(user, password); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1330
+ def logout; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1347
+ def logout!; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1926
+ def lsub(refname, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:882
+ def max_response_size; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:883
+ def max_response_size=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2828
+ def move(set, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1772
+ def namespace; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1321
+ def noop; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:880
+ def open_timeout; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:890
+ def port; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3335
+ def remove_response_handler(handler); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1656
+ def rename(mailbox, newname); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3304
+ def response_handlers; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3220
+ def responses(type = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2549
+ def search(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1593
+ def select(mailbox, condstore: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1893
+ def setacl(mailbox, user, rights); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1873
+ def setquota(mailbox, quota); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2876
+ def sort(sort_keys, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:898
+ def ssl_ctx; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:905
+ def ssl_ctx_params; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1391
+ def starttls(*deprecated, **options); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1993
+ def status(mailbox, attr); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2743
+ def store(set, attr, flags, unchangedsince: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1668
+ def subscribe(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2916
+ def thread(algorithm, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1126
+ def tls_verified?; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2803
+ def uid_copy(set, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2135
+ def uid_expunge(uid_set); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2693
+ def uid_fetch(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2850
+ def uid_move(set, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2576
+ def uid_search(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2891
+ def uid_sort(sort_keys, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2766
+ def uid_store(set, attr, flags, unchangedsince: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2930
+ def uid_thread(algorithm, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:2074
+ def unselect; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1681
+ def unsubscribe(mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:1816
+ def xlist(refname, mailbox); end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3779
+ def build_ssl_ctx(ssl); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3512
+ def capabilities_from_resp_code(resp); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3761
+ def coerce_search_arg_to_seqset?(obj); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3770
+ def coerce_search_array_arg_to_seqset?(obj); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3643
+ def convert_return_opts(unconverted); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3730
+ def copy_internal(cmd, set, mailbox); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3581
+ def enforce_logindisabled?; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3589
+ def expunge_internal(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3684
+ def fetch_internal(cmd, set, attr, mod = T.unsafe(nil), partial: T.unsafe(nil), changedsince: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3561
+ def generate_tag; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3488
+ def get_response; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3358
+ def get_server_greeting; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3460
+ def get_tagged_response(tag, cmd, timeout = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3585
+ def may_depend_on_capabilities_cached?(value); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3750
+ def normalize_searching_criteria(criteria); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3566
+ def put_string(str); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3387
+ def receive_responses; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3499
+ def record_untagged_response(resp); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3505
+ def record_untagged_response_code(resp); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3843
+ def sasl_adapter; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3609
+ def search_args(keys, charset_arg = T.unsafe(nil), return: T.unsafe(nil), charset: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3658
+ def search_internal(cmd, *_arg1, **_arg2, &_arg3); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3533
+ def send_command(cmd, *args, &block); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3719
+ def send_command_returning_fetch_results(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3524
+ def send_command_with_continuations(cmd, *args); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:33
+ def send_data(data, tag = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:115
+ def send_date_data(date); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:101
+ def send_list_data(list, tag = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:80
+ def send_literal(str, tag = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:97
+ def send_number_data(num); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:76
+ def send_quoted_string(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:54
+ def send_string_data(str, tag = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:118
+ def send_symbol_data(symbol); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:116
+ def send_time_data(time); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3734
+ def sort_internal(cmd, sort_keys, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3347
+ def start_imap_connection; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3369
+ def start_receiver_thread; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3791
+ def start_tls_session; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3806
+ def state_authenticated!(resp = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3825
+ def state_logout!; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3813
+ def state_selected!; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3819
+ def state_unselected!; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3711
+ def store_internal(cmd, set, attr, flags, unchangedsince: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3378
+ def tcp_socket(host, port); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3742
+ def thread_internal(cmd, algorithm, search_keys, charset); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3834
+ def try_state_logout?; end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:12
+ def validate_data(data); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap.rb:821
+ def SequenceSet(set = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:826
+ def config; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:830
+ def debug; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:834
+ def debug=(val); end
+
+ # :call-seq: decode_date(string) -> Date
+ #
+ # Decodes +string+ as an IMAP formatted "date".
+ #
+ # Double quotes are optional. Day of month may be padded with zero or
+ # space. See STRFDATE.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:90
+ def decode_date(string); end
+
+ # :call-seq: decode_datetime(string) -> DateTime
+ #
+ # Decodes +string+ as an IMAP4 formatted "date-time".
+ #
+ # NOTE: Although double-quotes are not optional in the IMAP grammar,
+ # Net::IMAP currently parses "date-time" values as "quoted" strings and this
+ # removes the quotation marks. To be useful for strings which have already
+ # been parsed as a quoted string, this method makes double-quotes optional.
+ #
+ # See STRFTIME.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:112
+ def decode_datetime(string); end
+
+ # :call-seq: decode_time(string) -> Time
+ #
+ # Decodes +string+ as an IMAP4 formatted "date-time".
+ #
+ # Same as +decode_datetime+, but returning a Time instead.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:124
+ def decode_time(string); end
+
+ # Decode a string from modified UTF-7 format to UTF-8.
+ #
+ # UTF-7 is a 7-bit encoding of Unicode [UTF7]. IMAP uses a
+ # slightly modified version of this to encode mailbox names
+ # containing non-ASCII characters; see [IMAP] section 5.1.3.
+ #
+ # Net::IMAP does _not_ automatically encode and decode
+ # mailbox names to and from UTF-7.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:57
+ def decode_utf7(s); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:849
+ def default_imap_port; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:850
+ def default_imaps_port; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:839
+ def default_port; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:851
+ def default_ssl_port; end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:844
+ def default_tls_port; end
+
+ # Formats +time+ as an IMAP4 date.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:80
+ def encode_date(date); end
+
+ # :call-seq: encode_datetime(time) -> string
+ #
+ # Formats +time+ as an IMAP4 date-time.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:98
+ def encode_datetime(time); end
+
+ # :call-seq: encode_datetime(time) -> string
+ #
+ # Formats +time+ as an IMAP4 date-time.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:132
+ def encode_time(time); end
+
+ # Encode a string from UTF-8 format to modified UTF-7.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:68
+ def encode_utf7(s); end
+
+ # Formats +time+ as an IMAP4 date.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:133
+ def format_date(date); end
+
+ # DEPRECATED:: The original version returned incorrectly formatted strings.
+ # Strings returned by encode_datetime or format_time use the
+ # correct IMAP4rev1 syntax for "date-time".
+ #
+ # This invalid format has been temporarily retained for backward
+ # compatibility. A future release will change this method to return the
+ # correct format.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:149
+ def format_datetime(time); end
+
+ # :call-seq: encode_datetime(time) -> string
+ #
+ # Formats +time+ as an IMAP4 date-time.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:134
+ def format_time(time); end
+
+ # :call-seq: decode_date(string) -> Date
+ #
+ # Decodes +string+ as an IMAP formatted "date".
+ #
+ # Double quotes are optional. Day of month may be padded with zero or
+ # space. See STRFDATE.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:135
+ def parse_date(string); end
+
+ # :call-seq: decode_datetime(string) -> DateTime
+ #
+ # Decodes +string+ as an IMAP4 formatted "date-time".
+ #
+ # NOTE: Although double-quotes are not optional in the IMAP grammar,
+ # Net::IMAP currently parses "date-time" values as "quoted" strings and this
+ # removes the quotation marks. To be useful for strings which have already
+ # been parsed as a quoted string, this method makes double-quotes optional.
+ #
+ # See STRFTIME.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:136
+ def parse_datetime(string); end
+
+ # :call-seq: decode_time(string) -> Time
+ #
+ # Decodes +string+ as an IMAP4 formatted "date-time".
+ #
+ # Same as +decode_datetime+, but returning a Time instead.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:137
+ def parse_time(string); end
+
+ # pkg:gem/net-imap#lib/net/imap.rb:3853
+ def saslprep(string, **opts); end
+ end
+end
+
+# Mailbox attribute indicating that this mailbox presents all messages in
+# the user's message store. Implementations MAY omit some messages, such as,
+# perhaps, those in \Trash and \Junk. When this special use is supported, it
+# is almost certain to represent a virtual mailbox
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:218
+Net::IMAP::ALL = T.let(T.unsafe(nil), Symbol)
+
+# Mailbox attribute indicating that this mailbox is used to archive
+# messages. The meaning of an "archival" mailbox is server dependent;
+# typically, it will be used to get messages out of the inbox, or otherwise
+# keep them out of the user's way, while still making them accessible
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:224
+Net::IMAP::ARCHIVE = T.let(T.unsafe(nil), Symbol)
+
+# >>>
+# *NOTE:* AppendUIDData replaced UIDPlusData for +APPENDUID+ in the
+# +0.6.0+ release. To use AppendUIDData before +0.6.0+, set
+# Config#parser_use_deprecated_uidplus_data to +false+.
+#
+# AppendUIDData represents the ResponseCode#data that accompanies the
+# +APPENDUID+ {response code}[rdoc-ref:ResponseCode].
+#
+# A server that supports +UIDPLUS+ (or +IMAP4rev2+) should send
+# AppendUIDData inside every TaggedResponse returned by the
+# append[rdoc-ref:Net::IMAP#append] command---unless the target mailbox
+# reports +UIDNOTSTICKY+.
+#
+# == Required capability
+# Requires either +UIDPLUS+ [RFC4315[https://www.rfc-editor.org/rfc/rfc4315]]
+# or +IMAP4rev2+ capability.
+#
+# pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:22
+class Net::IMAP::AppendUIDData < ::Data
+ # @return [AppendUIDData] a new instance of AppendUIDData
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:23
+ def initialize(uidvalidity:, assigned_uids:); end
+
+ # Returns the number of messages that have been appended.
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:45
+ def size; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:137
+class Net::IMAP::Atom < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:138
+ def send_data(imap, tag); end
+end
+
+# Backward compatible delegators from Net::IMAP to Net::IMAP::SASL.
+#
+# pkg:gem/net-imap#lib/net/imap/authenticators.rb:4
+module Net::IMAP::Authenticators
+ # Deprecated. Use Net::IMAP::SASL.add_authenticator instead.
+ #
+ # pkg:gem/net-imap#lib/net/imap/authenticators.rb:7
+ def add_authenticator(*_arg0, **_arg1, &_arg2); end
+
+ # Deprecated. Use Net::IMAP::SASL.authenticator instead.
+ #
+ # pkg:gem/net-imap#lib/net/imap/authenticators.rb:18
+ def authenticator(*_arg0, **_arg1, &_arg2); end
+end
+
+# Net::IMAP::BodyStructure is included by all of the structs that can be
+# returned from a "BODYSTRUCTURE" or "BODY"
+# FetchData#attr value. Although these classes don't share a base class,
+# this module can be used to pattern match all of them.
+#
+# See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
+# and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
+# for full description of all +BODYSTRUCTURE+ fields, and also
+# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
+#
+# == Classes that include BodyStructure
+# BodyTypeBasic:: Represents any message parts that are not handled by
+# BodyTypeText, BodyTypeMessage, or BodyTypeMultipart.
+# BodyTypeText:: Used by text/* parts. Contains all of the
+# BodyTypeBasic fields.
+# BodyTypeMessage:: Used by message/rfc822 and
+# message/global parts. Contains all of the
+# BodyTypeBasic fields. Other message/* types
+# should use BodyTypeBasic.
+# BodyTypeMultipart:: for multipart/* parts
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:785
+module Net::IMAP::BodyStructure; end
+
+# Net::IMAP::BodyTypeBasic represents basic body structures of messages and
+# message parts, unless they have a Content-Type that is handled by
+# BodyTypeText, BodyTypeMessage, or BodyTypeMultipart.
+#
+# See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
+# and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
+# for full description of all +BODYSTRUCTURE+ fields, and also
+# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:802
+class Net::IMAP::BodyTypeBasic < ::Struct
+ include ::Net::IMAP::BodyStructure
+
+ # :call-seq: media_subtype -> subtype
+ #
+ # >>>
+ # [Obsolete]
+ # Use +subtype+ instead. Calling this will generate a warning message
+ # to +stderr+, then return the value of +subtype+.
+ # --
+ # TODO: why not just keep this as an alias? Would "media_subtype" be used
+ # for something else?
+ # ++
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:913
+ def media_subtype; end
+
+ # :call-seq: multipart? -> false
+ #
+ # BodyTypeBasic is not used for multipart MIME parts.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:899
+ def multipart?; end
+end
+
+# Net::IMAP::BodyTypeMessage represents the body structures of messages and
+# message parts, when Content-Type is message/rfc822 or
+# message/global.
+#
+# BodyTypeMessage contains all of the fields of BodyTypeBasic. See
+# BodyTypeBasic for documentation of the following fields:
+# * {media_type}[rdoc-ref:BodyTypeBasic#media_type]
+# * subtype[rdoc-ref:BodyTypeBasic#subtype]
+# * param[rdoc-ref:BodyTypeBasic#param]
+# * {content_id}[rdoc-ref:BodyTypeBasic#content_id]
+# * description[rdoc-ref:BodyTypeBasic#description]
+# * encoding[rdoc-ref:BodyTypeBasic#encoding]
+# * size[rdoc-ref:BodyTypeBasic#size]
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:985
+class Net::IMAP::BodyTypeMessage < ::Struct
+ include ::Net::IMAP::BodyStructure
+
+ # Obsolete: use +subtype+ instead. Calling this will
+ # generate a warning message to +stderr+, then return
+ # the value of +subtype+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:1011
+ def media_subtype; end
+
+ # :call-seq: multipart? -> false
+ #
+ # BodyTypeMessage is not used for multipart MIME parts.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:1004
+ def multipart?; end
+end
+
+# Net::IMAP::BodyTypeMultipart represents body structures of messages and
+# message parts, when Content-Type is multipart/*.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:1023
+class Net::IMAP::BodyTypeMultipart < ::Struct
+ include ::Net::IMAP::BodyStructure
+
+ # Obsolete: use +subtype+ instead. Calling this will
+ # generate a warning message to +stderr+, then return
+ # the value of +subtype+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:1087
+ def media_subtype; end
+
+ # :call-seq: multipart? -> true
+ #
+ # BodyTypeMultipart is used for multipart MIME parts.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:1079
+ def multipart?; end
+end
+
+# Net::IMAP::BodyTypeText represents the body structures of messages and
+# message parts, when Content-Type is text/*.
+#
+# BodyTypeText contains all of the fields of BodyTypeBasic. See
+# BodyTypeBasic for documentation of the following:
+# * {media_type}[rdoc-ref:BodyTypeBasic#media_type]
+# * subtype[rdoc-ref:BodyTypeBasic#subtype]
+# * param[rdoc-ref:BodyTypeBasic#param]
+# * {content_id}[rdoc-ref:BodyTypeBasic#content_id]
+# * description[rdoc-ref:BodyTypeBasic#description]
+# * encoding[rdoc-ref:BodyTypeBasic#encoding]
+# * size[rdoc-ref:BodyTypeBasic#size]
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:939
+class Net::IMAP::BodyTypeText < ::Struct
+ include ::Net::IMAP::BodyStructure
+
+ # Obsolete: use +subtype+ instead. Calling this will
+ # generate a warning message to +stderr+, then return
+ # the value of +subtype+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:959
+ def media_subtype; end
+
+ # :call-seq: multipart? -> false
+ #
+ # BodyTypeText is not used for multipart MIME parts.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:952
+ def multipart?; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:187
+class Net::IMAP::ClientID < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:189
+ def send_data(imap, tag); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:193
+ def validate; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:209
+ def format_internal(client_id); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:199
+ def validate_internal(client_id); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+class Net::IMAP::CommandData < ::Data
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+ def data; end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:123
+ def send_data(imap, tag); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:127
+ def validate; end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:122
+ def new(*_arg0); end
+ end
+end
+
+# Net::IMAP::Config (available since +v0.4.13+) stores
+# configuration options for Net::IMAP clients. The global configuration can
+# be seen at either Net::IMAP.config or Net::IMAP::Config.global, and the
+# client-specific configuration can be seen at Net::IMAP#config.
+#
+# When creating a new client, all unhandled keyword arguments to
+# Net::IMAP.new are delegated to Config.new. Every client has its own
+# config.
+#
+# debug_client = Net::IMAP.new(hostname, debug: true)
+# quiet_client = Net::IMAP.new(hostname, debug: false)
+# debug_client.config.debug? # => true
+# quiet_client.config.debug? # => false
+#
+# == Inheritance
+#
+# Configs have a parent[rdoc-ref:Config::AttrInheritance#parent] config, and
+# any attributes which have not been set locally will inherit the parent's
+# value. Every client creates its own specific config. By default, client
+# configs inherit from Config.global.
+#
+# plain_client = Net::IMAP.new(hostname)
+# debug_client = Net::IMAP.new(hostname, debug: true)
+# quiet_client = Net::IMAP.new(hostname, debug: false)
+#
+# plain_client.config.inherited?(:debug) # => true
+# debug_client.config.inherited?(:debug) # => false
+# quiet_client.config.inherited?(:debug) # => false
+#
+# plain_client.config.debug? # => false
+# debug_client.config.debug? # => true
+# quiet_client.config.debug? # => false
+#
+# # Net::IMAP.debug is delegated to Net::IMAP::Config.global.debug
+# Net::IMAP.debug = true
+# plain_client.config.debug? # => true
+# debug_client.config.debug? # => true
+# quiet_client.config.debug? # => false
+#
+# Net::IMAP.debug = false
+# plain_client.config.debug = true
+# plain_client.config.inherited?(:debug) # => false
+# plain_client.config.debug? # => true
+# plain_client.config.reset(:debug)
+# plain_client.config.inherited?(:debug) # => true
+# plain_client.config.debug? # => false
+#
+# == Versioned defaults
+#
+# The effective default configuration for a specific +x.y+ version of
+# +net-imap+ can be loaded with the +config+ keyword argument to
+# Net::IMAP.new. Requesting default configurations for previous versions
+# enables extra backward compatibility with those versions:
+#
+# client = Net::IMAP.new(hostname, config: 0.3)
+# client.config.sasl_ir # => false
+# client.config.responses_without_block # => :silence_deprecation_warning
+#
+# client = Net::IMAP.new(hostname, config: 0.4)
+# client.config.sasl_ir # => true
+# client.config.responses_without_block # => :silence_deprecation_warning
+#
+# client = Net::IMAP.new(hostname, config: 0.5)
+# client.config.sasl_ir # => true
+# client.config.responses_without_block # => :warn
+#
+# client = Net::IMAP.new(hostname, config: :future)
+# client.config.sasl_ir # => true
+# client.config.responses_without_block # => :frozen_dup
+#
+# The versioned default configs inherit certain specific config options from
+# Config.global, for example #debug:
+#
+# client = Net::IMAP.new(hostname, config: 0.4)
+# Net::IMAP.debug = false
+# client.config.debug? # => false
+#
+# Net::IMAP.debug = true
+# client.config.debug? # => true
+#
+# Use #load_defaults to globally behave like a specific version:
+# client = Net::IMAP.new(hostname)
+# client.config.sasl_ir # => true
+# Net::IMAP.config.load_defaults 0.3
+# client.config.sasl_ir # => false
+#
+# === Named defaults
+# In addition to +x.y+ version numbers, the following aliases are supported:
+#
+# [+:default+]
+# An alias for +:current+.
+#
+# >>>
+# *NOTE*: This is _not_ the same as Config.default. It inherits some
+# attributes from Config.global, for example: #debug.
+# [+:current+]
+# An alias for the current +x.y+ version's defaults.
+# [+:next+]
+# The _planned_ config for the next +x.y+ version.
+# [+:future+]
+# The _planned_ eventual config for some future +x.y+ version.
+#
+# For example, to disable all currently deprecated behavior:
+# client = Net::IMAP.new(hostname, config: :future)
+# client.config.response_without_args # => :frozen_dup
+# client.responses.frozen? # => true
+# client.responses.values.all?(&:frozen?) # => true
+#
+# == Thread Safety
+#
+# *NOTE:* Updates to config objects are not synchronized for thread-safety.
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:7
+class Net::IMAP::Config
+ include ::Net::IMAP::Config::AttrAccessors
+ include ::Net::IMAP::Config::AttrInheritance
+ include ::Net::IMAP::Config::AttrTypeCoercion
+ extend ::Net::IMAP::Config::AttrAccessors::Macros
+ extend ::Net::IMAP::Config::AttrInheritance::Macros
+ extend ::Net::IMAP::Config::AttrTypeCoercion::Macros
+ extend ::Net::IMAP::Config::AttrVersionDefaults
+
+ # Creates a new config object and initialize its attribute with +attrs+.
+ #
+ # If +parent+ is not given, the global config is used by default.
+ #
+ # If a block is given, the new config object is yielded to it.
+ #
+ # @return [Config] a new instance of Config
+ # @yield [_self]
+ # @yieldparam _self [Net::IMAP::Config] the object that the method was called on
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:432
+ def initialize(parent = T.unsafe(nil), **attrs); end
+
+ # Returns a string representation of overriden config attributes and the
+ # inheritance chain.
+ #
+ # Attributes overridden by ancestors are also inspected, recursively.
+ # Attributes that are inherited from default configs are not shown (see
+ # Config@Versioned+defaults and Config@Named+defaults).
+ #
+ # # (Line breaks have been added to the example output for legibility.)
+ #
+ # Net::IMAP::Config.new(0.4)
+ # .new(open_timeout: 10, enforce_logindisabled: true)
+ # .inspect
+ # #=> "#"
+ #
+ # Non-default attributes are listed after the ancestor config from which
+ # they are inherited.
+ #
+ # # (Line breaks have been added to the example output for legibility.)
+ #
+ # config = Net::IMAP::Config.global
+ # .new(open_timeout: 10, idle_response_timeout: 2)
+ # .new(enforce_logindisabled: :when_capabilities_cached, sasl_ir: false)
+ # config.inspect
+ # #=> "#"
+ #
+ # Net::IMAP.debug = true
+ # config.inspect
+ # #=> "#"
+ #
+ # Use +pp+ (see #pretty_print) to inspect _all_ config attributes,
+ # including default values.
+ #
+ # Use #to_h to inspect all config attributes ignoring inheritance.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:536
+ def inspect; end
+
+ # :call-seq: load_defaults(version) -> self
+ #
+ # Resets the current config to behave like the versioned default
+ # configuration for +version+. #parent will not be changed.
+ #
+ # Some config attributes default to inheriting from their #parent (which
+ # is usually Config.global) and are left unchanged, for example: #debug.
+ #
+ # See Config@Versioned+defaults and Config@Named+defaults.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:483
+ def load_defaults(version); end
+
+ # Used by PP[https://docs.ruby-lang.org/en/master/PP.html] to create a
+ # string representation of all config attributes and the inheritance
+ # chain. Inherited attributes are listed with the ancestor config from
+ # which they are inherited.
+ #
+ # pp Config.new[0.4].new(open_timeout: 10, idle_response_timeout: 10)
+ # # #
+ #
+ # Related: #inspect, #to_h.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:562
+ def pretty_print(pp); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:355
+ def responses_without_args; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:356
+ def responses_without_args=(val); end
+
+ # :stopdoc:
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:254
+ def sasl_ir?; end
+
+ # :call-seq: to_h -> hash
+ #
+ # Returns all config attributes in a hash.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:492
+ def to_h; end
+
+ # Returns a string representation of overriden config attributes and the
+ # inheritance chain.
+ #
+ # Attributes overridden by ancestors are also inspected, recursively.
+ # Attributes that are inherited from default configs are not shown (see
+ # Config@Versioned+defaults and Config@Named+defaults).
+ #
+ # # (Line breaks have been added to the example output for legibility.)
+ #
+ # Net::IMAP::Config.new(0.4)
+ # .new(open_timeout: 10, enforce_logindisabled: true)
+ # .inspect
+ # #=> "#"
+ #
+ # Non-default attributes are listed after the ancestor config from which
+ # they are inherited.
+ #
+ # # (Line breaks have been added to the example output for legibility.)
+ #
+ # config = Net::IMAP::Config.global
+ # .new(open_timeout: 10, idle_response_timeout: 2)
+ # .new(enforce_logindisabled: :when_capabilities_cached, sasl_ir: false)
+ # config.inspect
+ # #=> "#"
+ #
+ # Net::IMAP.debug = true
+ # config.inspect
+ # #=> "#"
+ #
+ # Use +pp+ (see #pretty_print) to inspect _all_ config attributes,
+ # including default values.
+ #
+ # Use #to_h to inspect all config attributes ignoring inheritance.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:539
+ def to_s; end
+
+ # :call-seq: update(**attrs) -> self
+ #
+ # Assigns all of the provided +attrs+ to this config, and returns +self+.
+ #
+ # An ArgumentError is raised unless every key in +attrs+ matches an
+ # assignment method on Config.
+ #
+ # >>>
+ # *NOTE:* #update is not atomic. If an exception is raised due to an
+ # invalid attribute value, +attrs+ may be partially applied.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:448
+ def update(**attrs); end
+
+ # :call-seq:
+ # with(**attrs) -> config
+ # with(**attrs) {|config| } -> result
+ #
+ # Without a block, returns a new config which inherits from self. With a
+ # block, yields the new config and returns the block's result.
+ #
+ # If no keyword arguments are given, an ArgumentError will be raised.
+ #
+ # If +self+ is frozen, the copy will also be frozen.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:466
+ def with(**attrs); end
+
+ protected
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:625
+ def assigned_attrs_hash(attrs); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:630
+ def defaults_hash; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:589
+ def inspect_recursive(attrs = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:577
+ def name; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:572
+ def named_default?; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:605
+ def pretty_print_recursive(pp, attrs = T.unsafe(nil)); end
+
+ class << self
+ # :call-seq:
+ # Net::IMAP::Config[number] -> versioned config
+ # Net::IMAP::Config[symbol] -> named config
+ # Net::IMAP::Config[hash] -> new frozen config
+ # Net::IMAP::Config[config] -> same config
+ #
+ # Given a version number, returns the default configuration for the target
+ # version. See Config@Versioned+defaults.
+ #
+ # Given a version name, returns the default configuration for the target
+ # version. See Config@Named+defaults.
+ #
+ # Given a Hash, creates a new _frozen_ config which inherits from
+ # Config.global. Use Config.new for an unfrozen config.
+ #
+ # Given a config, returns that same config.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:163
+ def [](config); end
+
+ # The default config, which is hardcoded and frozen.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:129
+ def default; end
+
+ # The global config object. Also available from Net::IMAP.config.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:132
+ def global; end
+
+ # A hash of hard-coded configurations, indexed by version number or name.
+ # Values can be accessed with any object that responds to +to_sym+ or
+ # +to_r+/+to_f+ with a non-zero number.
+ #
+ # Config::[] gets named or numbered versions from this hash.
+ #
+ # For example:
+ # Net::IMAP::Config.version_defaults[0.5] == Net::IMAP::Config[0.5]
+ # Net::IMAP::Config[0.5] == Net::IMAP::Config[0.5r] # => true
+ # Net::IMAP::Config["current"] == Net::IMAP::Config[:current] # => true
+ # Net::IMAP::Config["0.5.6"] == Net::IMAP::Config[0.5r] # => true
+ #
+ # pkg:gem/net-imap#lib/net/imap/config.rb:145
+ def version_defaults; end
+ end
+end
+
+# >>>
+# *NOTE:* This module is an internal implementation detail, with no
+# guarantee of backward compatibility.
+#
+# +attr_accessor+ values are stored in a struct rather than ivars, making
+# it simpler to ensure that all config objects share a single object
+# shape. This also simplifies iteration over all defined attributes.
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:15
+module Net::IMAP::Config::AttrAccessors
+ extend ::Forwardable
+
+ mixes_in_class_methods ::Net::IMAP::Config::AttrAccessors::Macros
+
+ # :notnew:
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:45
+ def initialize; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:197
+ def debug(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:197
+ def debug=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:277
+ def enforce_logindisabled(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:277
+ def enforce_logindisabled=(*_arg0, **_arg1, &_arg2); end
+
+ # Freezes the internal attributes struct, in addition to +self+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:51
+ def freeze; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:223
+ def idle_response_timeout(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:223
+ def idle_response_timeout=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:316
+ def max_response_size(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:316
+ def max_response_size=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:215
+ def open_timeout(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:215
+ def open_timeout=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:419
+ def parser_max_deprecated_uidplus_data_size(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:419
+ def parser_max_deprecated_uidplus_data_size=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:389
+ def parser_use_deprecated_uidplus_data(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:389
+ def parser_use_deprecated_uidplus_data=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:347
+ def responses_without_block(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:347
+ def responses_without_block=(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:246
+ def sasl_ir(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:246
+ def sasl_ir=(*_arg0, **_arg1, &_arg2); end
+
+ protected
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:58
+ def data; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:62
+ def initialize_clone(other); end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:67
+ def initialize_dup(other); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:28
+ def attr_accessor(name); end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:38
+ def struct; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:33
+ def attributes; end
+
+ # @private
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:21
+ def included(mod); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:16
+module Net::IMAP::Config::AttrAccessors::Macros
+ # pkg:gem/net-imap#lib/net/imap/config/attr_accessors.rb:17
+ def attr_accessor(name); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config.rb:433
+class Net::IMAP::Config::AttrAccessors::Struct < ::Struct
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def debug; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def debug=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def enforce_logindisabled; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def enforce_logindisabled=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def idle_response_timeout; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def idle_response_timeout=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def max_response_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def max_response_size=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def open_timeout; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def open_timeout=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def parser_max_deprecated_uidplus_data_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def parser_max_deprecated_uidplus_data_size=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def parser_use_deprecated_uidplus_data; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def parser_use_deprecated_uidplus_data=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def responses_without_block; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def responses_without_block=(_); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def sasl_ir; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def sasl_ir=(_); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def keyword_init?; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:433
+ def new(*_arg0); end
+ end
+end
+
+# >>>
+# *NOTE:* The public methods on this module are part of the stable
+# public API of Net::IMAP::Config. But the module itself is an internal
+# implementation detail, with no guarantee of backward compatibility.
+#
+# +attr_accessor+ methods will delegate to their #parent when the local
+# value does not contain an override. Inheritance forms a singly linked
+# list, so lookup will be O(n) on the number of ancestors. In
+# practice, the ancestor chain is not expected to be long. Without
+# customization, it is only three deep:
+# >>>
+# IMAP#config → Config.global → Config.default
+#
+# When creating a client with the +config+ keyword, for example to use
+# the appropriate defaults for an application or a library while still
+# relying on global for configuration of +debug+ or +logger+, most likely
+# the ancestor chain is still only four deep:
+# >>>
+# IMAP#config → alternate defaults → Config.global → Config.default
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:25
+module Net::IMAP::Config::AttrInheritance
+ mixes_in_class_methods ::Net::IMAP::Config::AttrInheritance::Macros
+
+ # :notnew:
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:48
+ def initialize(parent = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:197
+ def debug; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:277
+ def enforce_logindisabled; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:223
+ def idle_response_timeout; end
+
+ # :call-seq:
+ # inherited?(attr) -> true or false
+ # inherited?(*attrs) -> true or false
+ # inherited? -> true or false
+ #
+ # Returns +true+ if +attr+ is inherited from #parent and not overridden
+ # by this config.
+ #
+ # When multiple +attrs+ are given, returns +true+ if *all* of them are
+ # inherited, or +false+ if any of them are overriden. When no +attrs+
+ # are given, returns +true+ if *all* attributes are inherited, or
+ # +false+ if any attribute is overriden.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:69
+ def inherited?(*attrs); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:316
+ def max_response_size; end
+
+ # Creates a new config, which inherits from +self+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:55
+ def new(**attrs); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:215
+ def open_timeout; end
+
+ # The parent Config object
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:46
+ def parent; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:419
+ def parser_max_deprecated_uidplus_data_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:389
+ def parser_use_deprecated_uidplus_data; end
+
+ # :call-seq:
+ # reset -> self
+ # reset(attr) -> attribute value
+ #
+ # Resets an +attr+ to inherit from the #parent config.
+ #
+ # When +attr+ is nil or not given, all attributes are reset.
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:81
+ def reset(attr = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:347
+ def responses_without_block; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:246
+ def sasl_ir; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:95
+ def initialize_copy(other); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:39
+ def attr_accessor(name); end
+
+ private
+
+ # @private
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:34
+ def included(mod); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:26
+module Net::IMAP::Config::AttrInheritance::INHERITED; end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:29
+module Net::IMAP::Config::AttrInheritance::Macros
+ # pkg:gem/net-imap#lib/net/imap/config/attr_inheritance.rb:30
+ def attr_accessor(name); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:13
+module Net::IMAP::Config::AttrTypeCoercion
+ mixes_in_class_methods ::Net::IMAP::Config::AttrTypeCoercion::Macros
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:197
+ def debug=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:197
+ def debug?; end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:277
+ def enforce_logindisabled=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:223
+ def idle_response_timeout=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:316
+ def max_response_size=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:215
+ def open_timeout=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:419
+ def parser_max_deprecated_uidplus_data_size=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:389
+ def parser_use_deprecated_uidplus_data=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:347
+ def responses_without_block=(val); end
+
+ # pkg:gem/net-imap#lib/net/imap/config.rb:246
+ def sasl_ir=(val); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:54
+ def attr_accessor(attr, type: T.unsafe(nil)); end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:26
+ def included(mod); end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:32
+ def safe(&b); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:51
+Net::IMAP::Config::AttrTypeCoercion::Boolean = T.let(T.unsafe(nil), Proc)
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:62
+Net::IMAP::Config::AttrTypeCoercion::Enum = T.let(T.unsafe(nil), Proc)
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:16
+module Net::IMAP::Config::AttrTypeCoercion::Macros
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:17
+ def attr_accessor(attr, type: T.unsafe(nil)); end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:22
+ def Integer?; end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:22
+ def Integer?; end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:60
+Net::IMAP::Config::AttrTypeCoercion::NilOrInteger = T.let(T.unsafe(nil), Proc)
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_type_coercion.rb:50
+Net::IMAP::Config::AttrTypeCoercion::Types = T.let(T.unsafe(nil), Hash)
+
+# >>>
+# *NOTE:* This module is an internal implementation detail, with no
+# guarantee of backward compatibility.
+#
+# Adds a +defaults+ parameter to +attr_accessor+, which is used to compile
+# Config.version_defaults.
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:14
+module Net::IMAP::Config::AttrVersionDefaults
+ # :stopdoc: internal APIs only
+ #
+ # pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:40
+ def attr_accessor(name, defaults: T.unsafe(nil), default: T.unsafe(nil), **kw); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:52
+ def compile_default!; end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:61
+ def compile_version_defaults!; end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:27
+ def version_defaults; end
+
+ # pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:27
+ def version_defaults=(_arg0); end
+ end
+end
+
+# The x.y part of Net::IMAP::VERSION, as a Rational number.
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:16
+Net::IMAP::Config::AttrVersionDefaults::CURRENT_VERSION = T.let(T.unsafe(nil), Rational)
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:22
+Net::IMAP::Config::AttrVersionDefaults::FUTURE_VERSION = T.let(T.unsafe(nil), Rational)
+
+# The config version used for Config[:next].
+#
+# pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:19
+Net::IMAP::Config::AttrVersionDefaults::NEXT_VERSION = T.let(T.unsafe(nil), Rational)
+
+# pkg:gem/net-imap#lib/net/imap/config/attr_version_defaults.rb:24
+Net::IMAP::Config::AttrVersionDefaults::VERSIONS = T.let(T.unsafe(nil), Array)
+
+# Array of attribute names that are _not_ loaded by #load_defaults.
+#
+# pkg:gem/net-imap#lib/net/imap/config.rb:125
+Net::IMAP::Config::DEFAULT_TO_INHERIT = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:5
+class Net::IMAP::ConnectionState < ::Data
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:32
+ def authenticated?; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:17
+ def deconstruct; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:19
+ def deconstruct_keys(names); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:34
+ def logout?; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:14
+ def name; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:31
+ def not_authenticated?; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:33
+ def selected?; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:13
+ def symbol; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:26
+ def to_h(&block); end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:15
+ def to_sym; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:37
+class Net::IMAP::ConnectionState::Authenticated < ::Net::IMAP::ConnectionState
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def new(*_arg0); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:9
+Net::IMAP::ConnectionState::Authenticated::NAME = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:39
+class Net::IMAP::ConnectionState::Logout < ::Net::IMAP::ConnectionState
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def new(*_arg0); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:9
+Net::IMAP::ConnectionState::Logout::NAME = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:36
+class Net::IMAP::ConnectionState::NotAuthenticated < ::Net::IMAP::ConnectionState
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def new(*_arg0); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:9
+Net::IMAP::ConnectionState::NotAuthenticated::NAME = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:38
+class Net::IMAP::ConnectionState::Selected < ::Net::IMAP::ConnectionState
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/connection_state.rb:8
+ def new(*_arg0); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/connection_state.rb:9
+Net::IMAP::ConnectionState::Selected::NAME = T.let(T.unsafe(nil), Symbol)
+
+# >>>
+# *NOTE:* CopyUIDData replaced UIDPlusData for +COPYUID+ in the
+# +0.6.0+ release. To use CopyUIDData before +0.6.0+, set
+# Config#parser_use_deprecated_uidplus_data to +false+.
+#
+# CopyUIDData represents the ResponseCode#data that accompanies the
+# +COPYUID+ {response code}[rdoc-ref:ResponseCode].
+#
+# A server that supports +UIDPLUS+ (or +IMAP4rev2+) should send CopyUIDData
+# in response to
+# copy[rdoc-ref:Net::IMAP#copy], {uid_copy}[rdoc-ref:Net::IMAP#uid_copy],
+# move[rdoc-ref:Net::IMAP#copy], and {uid_move}[rdoc-ref:Net::IMAP#uid_move]
+# commands---unless the destination mailbox reports +UIDNOTSTICKY+.
+#
+# Note that copy[rdoc-ref:Net::IMAP#copy] and
+# {uid_copy}[rdoc-ref:Net::IMAP#uid_copy] return CopyUIDData in their
+# TaggedResponse. But move[rdoc-ref:Net::IMAP#copy] and
+# {uid_move}[rdoc-ref:Net::IMAP#uid_move] _should_ send CopyUIDData in an
+# UntaggedResponse response before sending their TaggedResponse. However
+# some servers do send CopyUIDData in the TaggedResponse for +MOVE+
+# commands---this complies with the older +UIDPLUS+ specification but is
+# discouraged by the +MOVE+ extension and disallowed by +IMAP4rev2+.
+#
+# == Required capability
+# Requires either +UIDPLUS+ [RFC4315[https://www.rfc-editor.org/rfc/rfc4315]]
+# or +IMAP4rev2+ capability.
+#
+# pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:76
+class Net::IMAP::CopyUIDData < ::Data
+ # @return [CopyUIDData] a new instance of CopyUIDData
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:77
+ def initialize(uidvalidity:, source_uids:, assigned_uids:); end
+
+ # :call-seq:
+ # assigned_uid_for(source_uid) -> uid
+ # self[source_uid] -> uid
+ #
+ # Returns the UID in the destination mailbox for the message that was
+ # copied from +source_uid+ in the source mailbox.
+ #
+ # This is the reverse of #source_uid_for.
+ #
+ # Related: source_uid_for, each_uid_pair, uid_mapping
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:129
+ def [](source_uid); end
+
+ # :call-seq:
+ # assigned_uid_for(source_uid) -> uid
+ # self[source_uid] -> uid
+ #
+ # Returns the UID in the destination mailbox for the message that was
+ # copied from +source_uid+ in the source mailbox.
+ #
+ # This is the reverse of #source_uid_for.
+ #
+ # Related: source_uid_for, each_uid_pair, uid_mapping
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:125
+ def assigned_uid_for(source_uid); end
+
+ # Yields a pair of UIDs for each copied message. The first is the
+ # message's UID in the source mailbox and the second is the UID in the
+ # destination mailbox.
+ #
+ # Returns an enumerator when no block is given.
+ #
+ # Please note the warning on uid_mapping before calling methods like
+ # +to_h+ or +to_a+ on the returned enumerator.
+ #
+ # Related: uid_mapping, assigned_uid_for, source_uid_for
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:164
+ def each; end
+
+ # Yields a pair of UIDs for each copied message. The first is the
+ # message's UID in the source mailbox and the second is the UID in the
+ # destination mailbox.
+ #
+ # Returns an enumerator when no block is given.
+ #
+ # Please note the warning on uid_mapping before calling methods like
+ # +to_h+ or +to_a+ on the returned enumerator.
+ #
+ # Related: uid_mapping, assigned_uid_for, source_uid_for
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:163
+ def each_pair; end
+
+ # Yields a pair of UIDs for each copied message. The first is the
+ # message's UID in the source mailbox and the second is the UID in the
+ # destination mailbox.
+ #
+ # Returns an enumerator when no block is given.
+ #
+ # Please note the warning on uid_mapping before calling methods like
+ # +to_h+ or +to_a+ on the returned enumerator.
+ #
+ # Related: uid_mapping, assigned_uid_for, source_uid_for
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:155
+ def each_uid_pair; end
+
+ # Returns the number of messages that have been copied or moved.
+ # source_uids and the assigned_uids will both the same number of UIDs.
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:111
+ def size; end
+
+ # :call-seq:
+ # source_uid_for(assigned_uid) -> uid
+ #
+ # Returns the UID in the source mailbox for the message that was copied to
+ # +assigned_uid+ in the source mailbox.
+ #
+ # This is the reverse of #assigned_uid_for.
+ #
+ # Related: assigned_uid_for, each_uid_pair, uid_mapping
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:140
+ def source_uid_for(assigned_uid); end
+
+ # :call-seq: uid_mapping -> hash
+ #
+ # Returns a hash mapping each source UID to the newly assigned destination
+ # UID.
+ #
+ # *Warning:* The hash that is created may consume _much_ more
+ # memory than the data used to create it. When handling responses from an
+ # untrusted server, check #size before calling this method.
+ #
+ # Related: each_uid_pair, assigned_uid_for, source_uid_for
+ #
+ # pkg:gem/net-imap#lib/net/imap/uidplus_data.rb:176
+ def uid_mapping; end
+end
+
+# Mailbox attribute indicating that this mailbox is used to hold draft
+# messages -- typically, messages that are being composed but have not yet
+# been sent. In some server implementations, this might be a virtual
+# mailbox, containing messages from other mailboxes that are marked with the
+# "\Draft" message flag. Alternatively, this might just be advice that a
+# client put drafts here
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:232
+Net::IMAP::DRAFTS = T.let(T.unsafe(nil), Symbol)
+
+# This module handles deprecated arguments to various Net::IMAP methods.
+#
+# pkg:gem/net-imap#lib/net/imap/deprecated_client_options.rb:7
+module Net::IMAP::DeprecatedClientOptions
+ # :call-seq:
+ # Net::IMAP.new(host, **options) # standard keyword options
+ # Net::IMAP.new(host, options) # obsolete hash options
+ # Net::IMAP.new(host, port) # obsolete port argument
+ # Net::IMAP.new(host, port, usessl, certs = nil, verify = true) # deprecated SSL arguments
+ #
+ # Translates Net::IMAP.new arguments for backward compatibility.
+ #
+ # ==== Obsolete arguments
+ #
+ # Use of obsolete arguments does not print a warning. Obsolete arguments
+ # will be deprecated by a future release.
+ #
+ # If a second positional argument is given and it is a hash (or is
+ # convertible via +#to_hash+), it is converted to keyword arguments.
+ #
+ # # Obsolete:
+ # Net::IMAP.new("imap.example.com", options_hash)
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", **options_hash)
+ #
+ # If a second positional argument is given and it is not a hash, it is
+ # converted to the +port+ keyword argument.
+ # # Obsolete:
+ # Net::IMAP.new("imap.example.com", 114433)
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", port: 114433)
+ #
+ # ==== Deprecated arguments
+ #
+ # Using deprecated arguments prints a warning. Convert to keyword
+ # arguments to avoid the warning. Deprecated arguments will be removed in
+ # a future release.
+ #
+ # If +usessl+ is false, +certs+, and +verify+ are ignored. When it true,
+ # all three arguments are converted to the +ssl+ keyword argument.
+ # Without +certs+ or +verify+, it is converted to ssl: true.
+ # # DEPRECATED:
+ # Net::IMAP.new("imap.example.com", nil, true) # => prints a warning
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", ssl: true)
+ #
+ # When +certs+ is a path to a directory, it is converted to ca_path:
+ # certs.
+ # # DEPRECATED:
+ # Net::IMAP.new("imap.example.com", nil, true, "/path/to/certs") # => prints a warning
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", ssl: {ca_path: "/path/to/certs"})
+ #
+ # When +certs+ is a path to a file, it is converted to ca_file:
+ # certs.
+ # # DEPRECATED:
+ # Net::IMAP.new("imap.example.com", nil, true, "/path/to/cert.pem") # => prints a warning
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", ssl: {ca_file: "/path/to/cert.pem"})
+ #
+ # When +verify+ is +false+, it is converted to verify_mode:
+ # OpenSSL::SSL::VERIFY_NONE.
+ # # DEPRECATED:
+ # Net::IMAP.new("imap.example.com", nil, true, nil, false) # => prints a warning
+ # # Use instead:
+ # Net::IMAP.new("imap.example.com", ssl: {verify_mode: OpenSSL::SSL::VERIFY_NONE})
+ #
+ # pkg:gem/net-imap#lib/net/imap/deprecated_client_options.rb:72
+ def initialize(host, port_or_options = T.unsafe(nil), *deprecated, **options); end
+
+ # :call-seq:
+ # starttls(**options) # standard
+ # starttls(options = {}) # obsolete
+ # starttls(certs = nil, verify = true) # deprecated
+ #
+ # Translates Net::IMAP#starttls arguments for backward compatibility.
+ #
+ # Support for +certs+ and +verify+ will be dropped in a future release.
+ #
+ # See ::new for interpretation of +certs+ and +verify+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/deprecated_client_options.rb:106
+ def starttls(*deprecated, **options); end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/deprecated_client_options.rb:126
+ def create_ssl_params(certs = T.unsafe(nil), verify = T.unsafe(nil)); end
+end
+
+# pkg:gem/net-imap#lib/net/imap.rb:794
+Net::IMAP::ENABLE_ALIASES = T.let(T.unsafe(nil), Hash)
+
+# An "extended search" response (+ESEARCH+). ESearchResult should be
+# returned (instead of SearchResult) by IMAP#search, IMAP#uid_search,
+# IMAP#sort, and IMAP#uid_sort under any of the following conditions:
+#
+# * Return options were specified for IMAP#search or IMAP#uid_search.
+# The server must support a search extension which allows
+# RFC4466[https://www.rfc-editor.org/rfc/rfc4466.html] +return+ options,
+# such as +ESEARCH+, +PARTIAL+, or +IMAP4rev2+.
+# * Return options were specified for IMAP#sort or IMAP#uid_sort.
+# The server must support the +ESORT+ extension
+# {[RFC5267]}[https://www.rfc-editor.org/rfc/rfc5267.html#section-3].
+#
+# *NOTE:* IMAP#search and IMAP#uid_search do not support +ESORT+ yet.
+# * The server supports +IMAP4rev2+ but _not_ +IMAP4rev1+, or +IMAP4rev2+
+# has been enabled. +IMAP4rev2+ requires +ESEARCH+ results.
+#
+# Note that some servers may claim to support a search extension which
+# requires an +ESEARCH+ result, such as +PARTIAL+, but still only return a
+# +SEARCH+ result when +return+ options are specified.
+#
+# Some search extensions may result in the server sending ESearchResult
+# responses after the initiating command has completed. Use
+# IMAP#add_response_handler to handle these responses.
+#
+# ==== Compatibility with SearchResult
+#
+# Note that both SearchResult and ESearchResult implement +each+, +to_a+,
+# and +to_sequence_set+. These methods can be used regardless of whether
+# the server returns +SEARCH+ or +ESEARCH+ data (or no data).
+#
+# pkg:gem/net-imap#lib/net/imap/esearch_result.rb:34
+class Net::IMAP::ESearchResult < ::Data
+ # @return [ESearchResult] a new instance of ESearchResult
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:35
+ def initialize(tag: T.unsafe(nil), uid: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # :call-seq: all -> sequence set or nil
+ #
+ # A SequenceSet containing all message sequence numbers or UIDs that
+ # satisfy the SEARCH criteria.
+ #
+ # Returns +nil+ when the associated search command has no results, or when
+ # the +ALL+ return option was not specified but other return options were.
+ #
+ # Requires +ESEARCH+ {[RFC4731]}[https://www.rfc-editor.org/rfc/rfc4731.html#section-3.1] or
+ # +IMAP4rev2+ {[RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.3.4].
+ #
+ # See also: #to_a
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:153
+ def all; end
+
+ # :call-seq: count -> integer or nil
+ #
+ # Returns the number of messages that satisfy the SEARCH criteria.
+ #
+ # Returns +nil+ when the associated search command has no results, or when
+ # the +COUNT+ return option wasn't specified.
+ #
+ # Requires +ESEARCH+ {[RFC4731]}[https://www.rfc-editor.org/rfc/rfc4731.html#section-3.1] or
+ # +IMAP4rev2+ {[RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.3.4].
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:164
+ def count; end
+
+ # When either #all or #partial contains a SequenceSet of message sequence
+ # numbers or UIDs, +each+ yields each integer in the set.
+ #
+ # When both #all and #partial are +nil+, either because the server
+ # returned no results or because +ALL+ and +PARTIAL+ were not included in
+ # the IMAP#search +RETURN+ options, #each does not yield.
+ #
+ # Note that SearchResult also implements +#each+, so it can be used
+ # without checking if the server returned +SEARCH+ or +ESEARCH+ data.
+ #
+ # Related: #to_sequence_set, #to_a, #all, #partial
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:86
+ def each(&_arg0); end
+
+ # :call-seq: max -> integer or nil
+ #
+ # The highest message number/UID that satisfies the SEARCH criteria.
+ #
+ # Returns +nil+ when the associated search command has no results, or when
+ # the +MAX+ return option wasn't specified.
+ #
+ # Requires +ESEARCH+ {[RFC4731]}[https://www.rfc-editor.org/rfc/rfc4731.html#section-3.1] or
+ # +IMAP4rev2+ {[RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.3.4].
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:139
+ def max; end
+
+ # :call-seq: min -> integer or nil
+ #
+ # The lowest message number/UID that satisfies the SEARCH criteria.
+ #
+ # Returns +nil+ when the associated search command has no results, or when
+ # the +MIN+ return option wasn't specified.
+ #
+ # Requires +ESEARCH+ {[RFC4731]}[https://www.rfc-editor.org/rfc/rfc4731.html#section-3.1] or
+ # +IMAP4rev2+ {[RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.3.4].
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:128
+ def min; end
+
+ # :call-seq: modseq -> integer or nil
+ #
+ # The highest +mod-sequence+ of all messages being returned.
+ #
+ # Returns +nil+ when the associated search command has no results, or when
+ # the +MODSEQ+ search criterion wasn't specified.
+ #
+ # Note that there is no search +return+ option for +MODSEQ+. It will be
+ # returned whenever the +CONDSTORE+ extension has been enabled. Using the
+ # +MODSEQ+ search criteria will implicitly enable +CONDSTORE+.
+ #
+ # Requires +CONDSTORE+ {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162.html]
+ # and +ESEARCH+ {[RFC4731]}[https://www.rfc-editor.org/rfc/rfc4731.html#section-3.2].
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:179
+ def modseq; end
+
+ # :call-seq: partial -> PartialResult or nil
+ #
+ # A PartialResult containing a subset of the message sequence numbers or
+ # UIDs that satisfy the SEARCH criteria.
+ #
+ # Requires +PARTIAL+ {[RFC9394]}[https://www.rfc-editor.org/rfc/rfc9394.html]
+ # or CONTEXT=SEARCH/CONTEXT=SORT
+ # {[RFC5267]}[https://www.rfc-editor.org/rfc/rfc5267.html]
+ #
+ # See also: #to_a
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:221
+ def partial; end
+
+ # :call-seq: to_a -> Array of integers
+ #
+ # When either #all or #partial contains a SequenceSet of message sequence
+ # numbers or UIDs, +to_a+ returns that set as an array of integers.
+ #
+ # When both #all and #partial are +nil+, either because the server
+ # returned no results or because neither +ALL+ or +PARTIAL+ were included
+ # in the IMAP#search +RETURN+ options, #to_a returns an empty array.
+ #
+ # Note that SearchResult also implements +to_a+, so it can be used without
+ # checking if the server returned +SEARCH+ or +ESEARCH+ data.
+ #
+ # Related: #each, #to_sequence_set, #all, #partial
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:55
+ def to_a; end
+
+ # :call-seq: to_sequence_set -> SequenceSet or nil
+ #
+ # When either #all or #partial contains a SequenceSet of message sequence
+ # numbers or UIDs, +to_sequence_set+ returns that sequence set.
+ #
+ # When both #all and #partial are +nil+, either because the server
+ # returned no results or because neither +ALL+ or +PARTIAL+ were included
+ # in the IMAP#search +RETURN+ options, #to_sequence_set returns
+ # SequenceSet.empty.
+ #
+ # Note that SearchResult also implements +to_sequence_set+, so it can be
+ # used without checking if the server returned +SEARCH+ or +ESEARCH+ data.
+ #
+ # Related: #each, #to_a, #all, #partial
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:71
+ def to_sequence_set; end
+
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:106
+ def uid?; end
+end
+
+# Returned by ESearchResult#partial.
+#
+# Requires +PARTIAL+ {[RFC9394]}[https://www.rfc-editor.org/rfc/rfc9394.html]
+# or CONTEXT=SEARCH/CONTEXT=SORT
+# {[RFC5267]}[https://www.rfc-editor.org/rfc/rfc5267.html]
+#
+# See also: #to_a
+#
+# pkg:gem/net-imap#lib/net/imap/esearch_result.rb:188
+class Net::IMAP::ESearchResult::PartialResult < ::Data
+ # @return [PartialResult] a new instance of PartialResult
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:189
+ def initialize(range:, results:); end
+
+ # Converts #results to an array of integers.
+ #
+ # See also: ESearchResult#to_a.
+ #
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:206
+ def to_a; end
+
+ # pkg:gem/net-imap#lib/net/imap/esearch_result.rb:208
+ def to_sequence_set; end
+end
+
+# **Note:** This represents an intentionally _unstable_ API. Where
+# instances of this class are returned, future releases may return a
+# different (incompatible) object without deprecation or warning.
+#
+# Net::IMAP::ExtensionData represents data that is parsable according to the
+# forward-compatible extension syntax in RFC3501, RFC4466, or RFC9051, but
+# isn't directly known or understood by Net::IMAP yet.
+#
+# See also: UnparsedData, UnparsedNumericResponseData, IgnoredResponse
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:124
+class Net::IMAP::ExtensionData < ::Struct; end
+
+# Net::IMAP::FetchStruct is the superclass for FetchData and UIDFetchData.
+# Net::IMAP#fetch, Net::IMAP#uid_fetch, Net::IMAP#store, and
+# Net::IMAP#uid_store all return arrays of FetchStruct objects.
+#
+# === Fetch attributes
+#
+# See {[IMAP4rev1 §7.4.2]}[https://www.rfc-editor.org/rfc/rfc3501.html#section-7.4.2]
+# and {[IMAP4rev2 §7.5.2]}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.5.2]
+# for a full description of the standard fetch response data items, and
+# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
+#
+# ==== Static fetch data items
+#
+# Most message attributes are static, and must never change for a given
+# (server, account, mailbox, UIDVALIDITY, UID) tuple.
+#
+# The static fetch data items defined by both
+# IMAP4rev1[https://www.rfc-editor.org/rfc/rfc3501.html] and
+# IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html] are:
+#
+# * "UID" --- See #uid.
+# * "BODY" --- See #body.
+# * "BODY[#{section_spec}]",
+# "BODY[#{section_spec}]<#{offset}>" --- See #message,
+# #part, #header, #header_fields, #header_fields_not, #mime, and #text.
+# * "BODYSTRUCTURE" --- See #bodystructure.
+# * "ENVELOPE" --- See #envelope.
+# * "INTERNALDATE" --- See #internaldate.
+# * "RFC822.SIZE" --- See #rfc822_size.
+#
+# IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html] adds the
+# additional fetch items from the +BINARY+ extension
+# {[RFC3516]}[https://www.rfc-editor.org/rfc/rfc3516.html]:
+#
+# * "BINARY[#{part}]",
+# "BINARY[#{part}]<#{offset}>" -- See #binary.
+# * "BINARY.SIZE[#{part}]" -- See #binary_size.
+#
+# Several static message attributes in
+# IMAP4rev1[https://www.rfc-editor.org/rfc/rfc3501.html] are obsolete and
+# been removed from
+# IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html]:
+#
+# * "RFC822" --- See #rfc822 or replace with
+# "BODY[]" and #message.
+# * "RFC822.HEADER" --- See #rfc822_header or replace with
+# "BODY[HEADER]" and #header.
+# * "RFC822.TEXT" --- See #rfc822_text or replace with
+# "BODY[TEXT]" and #text.
+#
+# Net::IMAP supports static attributes defined by the following extensions:
+# * +OBJECTID+ {[RFC8474]}[https://www.rfc-editor.org/rfc/rfc8474.html]
+# * "EMAILID" --- See #emailid.
+# * "THREADID" --- See #threadid.
+#
+# * +X-GM-EXT-1+ {[non-standard Gmail
+# extension]}[https://developers.google.com/gmail/imap/imap-extensions]
+# * "X-GM-MSGID" --- unique message ID. Access via #attr.
+# * "X-GM-THRID" --- Thread ID. Access via #attr.
+#
+# [NOTE:]
+# Additional static fields are defined in other \IMAP extensions, but
+# Net::IMAP can't parse them yet.
+#
+# ==== Dynamic message attributes
+#
+# Some message attributes can be dynamically changed, for example using the
+# {STORE command}[rdoc-ref:Net::IMAP#store].
+#
+# The only dynamic message attribute defined by
+# IMAP4rev1[https://www.rfc-editor.org/rfc/rfc3501.html] and
+# IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html] is:
+#
+# * "FLAGS" --- See #flags.
+#
+# Net::IMAP supports dynamic attributes defined by the following extensions:
+#
+# * +CONDSTORE+ {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162.html]:
+# * "MODSEQ" --- See #modseq.
+# * +X-GM-EXT-1+ {[non-standard Gmail
+# extension]}[https://developers.google.com/gmail/imap/imap-extensions]
+# * "X-GM-LABELS" --- Gmail labels. Access via #attr.
+#
+# [NOTE:]
+# Additional dynamic fields are defined in other \IMAP extensions, but
+# Net::IMAP can't parse them yet.
+#
+# === Implicitly setting \Seen and using +PEEK+
+#
+# Unless the mailbox has been opened as read-only, fetching
+# BODY[#{section}] or BINARY[#{section}]
+# will implicitly set the \Seen flag. To avoid this, fetch using
+# BODY.PEEK[#{section}] or BINARY.PEEK[#{section}]
+# instead.
+#
+# [NOTE:]
+# The data will always be _returned_ without the ".PEEK" suffix,
+# as BODY[#{specifier}] or BINARY[#{section}].
+#
+# pkg:gem/net-imap#lib/net/imap/fetch_data.rb:105
+class Net::IMAP::FetchStruct < ::Struct
+ # :call-seq: attr_upcase -> hash
+ #
+ # A transformation of #attr, with all the keys converted to upper case.
+ #
+ # Header field names are case-preserved but not case-sensitive, so this is
+ # used by #header_fields and #header_fields_not.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:121
+ def attr_upcase; end
+
+ # :call-seq:
+ # binary(*part_nums, offset: nil) -> string or nil
+ #
+ # Returns the binary representation of a particular MIME part, which has
+ # already been decoded according to its Content-Transfer-Encoding.
+ #
+ # See #part for a description of +part_nums+ and +offset+.
+ #
+ # This is the same as getting the value of
+ # "BINARY[#{part_nums.join(".")}]" or
+ # "BINARY[#{part_nums.join(".")}]<#{offset}>" from #attr.
+ #
+ # The server must support either
+ # IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html]
+ # or the +BINARY+ extension
+ # {[RFC3516]}[https://www.rfc-editor.org/rfc/rfc3516.html].
+ #
+ # See also: #binary_size, #mime
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:428
+ def binary(*part_nums, offset: T.unsafe(nil)); end
+
+ # :call-seq:
+ # binary_size(*part_nums) -> integer or nil
+ #
+ # Returns the decoded size of a particular MIME part (the size to expect
+ # in response to a BINARY fetch request).
+ #
+ # See #part for a description of +part_nums+.
+ #
+ # This is the same as getting the value of
+ # "BINARY.SIZE[#{part_nums.join(".")}]" from #attr.
+ #
+ # The server must support either
+ # IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051.html]
+ # or the +BINARY+ extension
+ # {[RFC3516]}[https://www.rfc-editor.org/rfc/rfc3516.html].
+ #
+ # See also: #binary, #mime
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:449
+ def binary_size(*part_nums); end
+
+ # :call-seq:
+ # body -> body structure or nil
+ #
+ # Returns an alternate form of #bodystructure, without any extension data.
+ #
+ # This is the same as getting the value for "BODY" from #attr.
+ #
+ # [NOTE:]
+ # Use #message, #part, #header, #header_fields, #header_fields_not,
+ # #text, or #mime to retrieve BODY[#{section_spec}] attributes.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:133
+ def body; end
+
+ # :call-seq:
+ # bodystructure -> BodyStructure struct or nil
+ #
+ # A BodyStructure object that describes the message, if it was fetched.
+ #
+ # This is the same as getting the value for "BODYSTRUCTURE" from
+ # #attr.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:297
+ def body_structure; end
+
+ # :call-seq:
+ # bodystructure -> BodyStructure struct or nil
+ #
+ # A BodyStructure object that describes the message, if it was fetched.
+ #
+ # This is the same as getting the value for "BODYSTRUCTURE" from
+ # #attr.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:295
+ def bodystructure; end
+
+ # :call-seq: emailid -> string or nil
+ #
+ # An ObjectID that uniquely identifies the immutable content of a single
+ # message.
+ #
+ # The server must return the same +EMAILID+ for both the source and
+ # destination messages after a COPY or MOVE command. However, it is
+ # possible for different messages with the same EMAILID to have different
+ # mutable attributes, such as flags.
+ #
+ # This is the same as getting the value for "EMAILID" from
+ # #attr.
+ #
+ # The server must support the +OBJECTID+ extension
+ # {[RFC8474]}[https://www.rfc-editor.org/rfc/rfc8474.html].
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:482
+ def emailid; end
+
+ # :call-seq: envelope -> Envelope or nil
+ #
+ # An Envelope object that describes the envelope structure of a message.
+ # See the documentation for Envelope for a description of the envelope
+ # structure attributes.
+ #
+ # This is the same as getting the value for "ENVELOPE" from
+ # #attr.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:307
+ def envelope; end
+
+ # :call-seq: flags -> array of Symbols and Strings, or nil
+ #
+ # A array of flags that are set for this message. System flags are
+ # symbols that have been capitalized by String#capitalize. Keyword flags
+ # are strings and their case is not changed.
+ #
+ # This is the same as getting the value for "FLAGS" from #attr.
+ #
+ # [NOTE:]
+ # The +FLAGS+ field is dynamic, and can change for a uniquely identified
+ # message.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:320
+ def flags; end
+
+ # :call-seq:
+ # header(*part_nums, offset: nil) -> string or nil
+ # header(*part_nums, fields: names, offset: nil) -> string or nil
+ # header(*part_nums, except: names, offset: nil) -> string or nil
+ #
+ # The {[RFC5322]}[https://www.rfc-editor.org/rfc/rfc5322.html] header of a
+ # message or of an encapsulated
+ # {[MIME-IMT]}[https://www.rfc-editor.org/rfc/rfc2046.html]
+ # MESSAGE/RFC822 or MESSAGE/GLOBAL message.
+ #
+ # Headers can be parsed using the "mail" gem.
+ #
+ # See #part for a description of +part_nums+ and +offset+.
+ #
+ # ==== Without +fields+ or +except+
+ # This is the same as getting the value from #attr for one of:
+ # * BODY[HEADER]
+ # * BODY[HEADER]<#{offset}>
+ # * BODY[#{part_nums.join "."}.HEADER]"
+ # * BODY[#{part_nums.join "."}.HEADER]<#{offset}>"
+ #
+ # ==== With +fields+
+ # When +fields+ is sent, returns a subset of the header which contains
+ # only the header fields that match one of the names in the list.
+ #
+ # This is the same as getting the value from #attr_upcase for one of:
+ # * BODY[HEADER.FIELDS (#{names.join " "})]
+ # * BODY[HEADER.FIELDS (#{names.join " "})]<#{offset}>
+ # * BODY[#{part_nums.join "."}.HEADER.FIELDS (#{names.join " "})]
+ # * BODY[#{part_nums.join "."}.HEADER.FIELDS (#{names.join " "})]<#{offset}>
+ #
+ # See also: #header_fields
+ #
+ # ==== With +except+
+ # When +except+ is sent, returns a subset of the header which contains
+ # only the header fields that do _not_ match one of the names in the list.
+ #
+ # This is the same as getting the value from #attr_upcase for one of:
+ # * BODY[HEADER.FIELDS.NOT (#{names.join " "})]
+ # * BODY[HEADER.FIELDS.NOT (#{names.join " "})]<#{offset}>
+ # * BODY[#{part_nums.join "."}.HEADER.FIELDS.NOT (#{names.join " "})]
+ # * BODY[#{part_nums.join "."}.HEADER.FIELDS.NOT (#{names.join " "})]<#{offset}>
+ #
+ # See also: #header_fields_not
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:219
+ def header(*part_nums, fields: T.unsafe(nil), except: T.unsafe(nil), offset: T.unsafe(nil)); end
+
+ # :call-seq:
+ # header_fields(*names, part: [], offset: nil) -> string or nil
+ #
+ # The result from #header when called with fields: names.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:237
+ def header_fields(first, *rest, part: T.unsafe(nil), offset: T.unsafe(nil)); end
+
+ # :call-seq:
+ # header_fields_not(*names, part: [], offset: nil) -> string or nil
+ #
+ # The result from #header when called with except: names.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:245
+ def header_fields_not(first, *rest, part: T.unsafe(nil), offset: T.unsafe(nil)); end
+
+ # :call-seq: internaldate -> Time or nil
+ #
+ # The internal date and time of the message on the server. This is not
+ # the date and time in the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
+ # header, but rather a date and time which reflects when the message was
+ # received.
+ #
+ # This is similar to getting the value for "INTERNALDATE" from
+ # #attr.
+ #
+ # [NOTE:]
+ # attr["INTERNALDATE"] returns a string, and this method
+ # returns a Time object.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:339
+ def internal_date; end
+
+ # :call-seq: internaldate -> Time or nil
+ #
+ # The internal date and time of the message on the server. This is not
+ # the date and time in the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
+ # header, but rather a date and time which reflects when the message was
+ # received.
+ #
+ # This is similar to getting the value for "INTERNALDATE" from
+ # #attr.
+ #
+ # [NOTE:]
+ # attr["INTERNALDATE"] returns a string, and this method
+ # returns a Time object.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:335
+ def internaldate; end
+
+ # :call-seq:
+ # message(offset: bytes) -> string or nil
+ #
+ # The RFC5322[https://www.rfc-editor.org/rfc/rfc5322.html]
+ # expression of the entire message, as a string.
+ #
+ # See #part for a description of +offset+.
+ #
+ # RFC5322 messages can be parsed using the "mail" gem.
+ #
+ # This is the same as getting the value for "BODY[]" or
+ # "BODY[]<#{offset}>" from #attr.
+ #
+ # See also: #header, #text, and #mime.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:149
+ def message(offset: T.unsafe(nil)); end
+
+ # :call-seq:
+ # mime(*part_nums) -> string or nil
+ # mime(*part_nums, offset: bytes) -> string or nil
+ #
+ # The {[MIME-IMB]}[https://www.rfc-editor.org/rfc/rfc2045.html] header for
+ # a message part, if it was fetched.
+ #
+ # See #part for a description of +part_nums+ and +offset+.
+ #
+ # This is the same as getting the value for
+ # "BODY[#{part_nums}.MIME]" or
+ # "BODY[#{part_nums}.MIME]<#{offset}>" from #attr.
+ #
+ # See also: #message, #header, and #text.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:263
+ def mime(part, *subparts, offset: T.unsafe(nil)); end
+
+ # :call-seq: modseq -> Integer or nil
+ #
+ # The modification sequence number associated with this IMAP message.
+ #
+ # This is the same as getting the value for "MODSEQ" from #attr.
+ #
+ # The server must support the +CONDSTORE+ extension
+ # {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162.html].
+ #
+ # [NOTE:]
+ # The +MODSEQ+ field is dynamic, and can change for a uniquely
+ # identified message.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:465
+ def modseq; end
+
+ # :call-seq:
+ # part(*part_nums, offset: bytes) -> string or nil
+ #
+ # The string representation of a particular MIME part.
+ #
+ # +part_nums+ forms a path of MIME part numbers, counting up from +1+,
+ # which may specify an arbitrarily nested part, similarly to Array#dig.
+ # Messages that don't use MIME, or MIME messages that are not multipart
+ # and don't hold an encapsulated message, only have part +1+.
+ #
+ # If a zero-based +offset+ is given, the returned string is a substring of
+ # the entire contents, starting at that origin octet. This means that
+ # BODY[]<0> MAY be truncated, but BODY[] is never
+ # truncated.
+ #
+ # This is the same as getting the value of
+ # "BODY[#{part_nums.join(".")}]" or
+ # "BODY[#{part_nums.join(".")}]<#{offset}>" from #attr.
+ #
+ # See also: #message, #header, #text, and #mime.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:171
+ def part(index, *subparts, offset: T.unsafe(nil)); end
+
+ # :call-seq: rfc822 -> String or nil
+ #
+ # Semantically equivalent to #message with no arguments.
+ #
+ # This is the same as getting the value for "RFC822" from #attr.
+ #
+ # [NOTE:]
+ # +IMAP4rev2+ deprecates RFC822.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:349
+ def rfc822; end
+
+ # :call-seq: rfc822_header -> String or nil
+ #
+ # Semantically equivalent to #header, with no arguments.
+ #
+ # This is the same as getting the value for "RFC822.HEADER" from #attr.
+ #
+ # [NOTE:]
+ # +IMAP4rev2+ deprecates RFC822.HEADER.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:386
+ def rfc822_header; end
+
+ # :call-seq: rfc822_size -> Integer or nil
+ #
+ # A number expressing the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
+ # size of the message.
+ #
+ # This is the same as getting the value for "RFC822.SIZE" from
+ # #attr.
+ #
+ # [NOTE:]
+ # \IMAP was originally developed for the older
+ # RFC822[https://www.rfc-editor.org/rfc/rfc822.html] standard, and as a
+ # consequence several fetch items in \IMAP incorporate "RFC822" in their
+ # name. With the exception of +RFC822.SIZE+, there are more modern
+ # replacements; for example, the modern version of +RFC822.HEADER+ is
+ # BODY.PEEK[HEADER]. In all cases, "RFC822" should be
+ # interpreted as a reference to the updated
+ # RFC5322[https://www.rfc-editor.org/rfc/rfc5322.html] standard.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:368
+ def rfc822_size; end
+
+ # :call-seq: rfc822_text -> String or nil
+ #
+ # Semantically equivalent to #text, with no arguments.
+ #
+ # This is the same as getting the value for "RFC822.TEXT" from
+ # #attr.
+ #
+ # [NOTE:]
+ # +IMAP4rev2+ deprecates RFC822.TEXT.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:397
+ def rfc822_text; end
+
+ # Alias for: rfc822_size
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:375
+ def size; end
+
+ # :call-seq:
+ # text(*part_nums) -> string or nil
+ # text(*part_nums, offset: bytes) -> string or nil
+ #
+ # The text body of a message or a message part, if it was fetched,
+ # omitting the {[RFC5322]}[https://www.rfc-editor.org/rfc/rfc5322.html]
+ # header.
+ #
+ # See #part for a description of +part_nums+ and +offset+.
+ #
+ # This is the same as getting the value from #attr for one of:
+ # * "BODY[TEXT]",
+ # * "BODY[TEXT]<#{offset}>",
+ # * "BODY[#{section}.TEXT]", or
+ # * "BODY[#{section}.TEXT]<#{offset}>".
+ #
+ # See also: #message, #header, and #mime.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:284
+ def text(*part, offset: T.unsafe(nil)); end
+
+ # :call-seq: threadid -> string or nil
+ #
+ # An ObjectID that uniquely identifies a set of messages that the server
+ # believes should be grouped together.
+ #
+ # It is generally based on some combination of References, In-Reply-To,
+ # and Subject, but the exact implementation is left up to the server
+ # implementation. The server should return the same thread identifier for
+ # related messages, even if they are in different mailboxes.
+ #
+ # This is the same as getting the value for "THREADID" from
+ # #attr.
+ #
+ # The server must support the +OBJECTID+ extension
+ # {[RFC8474]}[https://www.rfc-editor.org/rfc/rfc8474.html].
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:499
+ def threadid; end
+
+ # :call-seq: uid -> Integer or nil
+ #
+ # A number expressing the unique identifier of the message.
+ #
+ # This is the same as getting the value for "UID" from #attr.
+ #
+ # [NOTE:]
+ # For UIDFetchData, this returns the uniqueid at the beginning of the
+ # +UIDFETCH+ response, _not_ the value from #attr.
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:408
+ def uid; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:503
+ def body_section_attr(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:505
+ def section_attr(attr, part = T.unsafe(nil), text = T.unsafe(nil), offset: T.unsafe(nil)); end
+end
+
+# Alias for HAS_CHILDREN, to match the \IMAP spelling.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:183
+Net::IMAP::HASCHILDREN = T.let(T.unsafe(nil), Symbol)
+
+# Alias for HAS_NO_CHILDREN, to match the \IMAP spelling.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:185
+Net::IMAP::HASNOCHILDREN = T.let(T.unsafe(nil), Symbol)
+
+# The presence of this attribute indicates that the mailbox has child
+# mailboxes. A server SHOULD NOT set this attribute if there are child
+# mailboxes and the user does not have permission to access any of them. In
+# this case, +\HasNoChildren+ SHOULD be used. In many cases, however, a
+# server may not be able to efficiently compute whether a user has access to
+# any child mailboxes. Note that even though the +\HasChildren+ attribute
+# for a mailbox must be correct at the time of processing the mailbox, a
+# client must be prepared to deal with a situation when a mailbox is marked
+# with the +\HasChildren+ attribute, but no child mailbox appears in the
+# response to the #list command. This might happen, for example, due to child
+# mailboxes being deleted or made inaccessible to the user (using access
+# control) by another client before the server is able to list them.
+#
+# It is an error for the server to return both a +\HasChildren+ and a
+# +\HasNoChildren+ attribute in the same #list response. A client that
+# encounters a #list response with both +\HasChildren+ and +\HasNoChildren+
+# attributes present should act as if both are absent in the #list response.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:136
+Net::IMAP::HAS_CHILDREN = T.let(T.unsafe(nil), Symbol)
+
+# The presence of this attribute indicates that the mailbox has NO child
+# mailboxes that are accessible to the currently authenticated user.
+#
+# It is an error for the server to return both a +\HasChildren+ and a
+# +\HasNoChildren+ attribute in the same #list response. A client that
+# encounters a #list response with both +\HasChildren+ and +\HasNoChildren+
+# attributes present should act as if both are absent in the #list response.
+#
+# Note: the +\HasNoChildren+ attribute should not be confused with the
+# +\NoInferiors+ attribute, which indicates that no child mailboxes exist
+# now and none can be created in the future.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:149
+Net::IMAP::HAS_NO_CHILDREN = T.let(T.unsafe(nil), Symbol)
+
+# Net::IMAP::IgnoredResponse represents intentionally ignored responses.
+#
+# This includes untagged response "NOOP" sent by e.g. Zimbra to avoid
+# some clients to close the connection.
+#
+# It matches no IMAP standard.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:69
+class Net::IMAP::IgnoredResponse < ::Net::IMAP::UntaggedResponse; end
+
+# Error raised when the server sends an invalid response.
+#
+# This is different from UnknownResponseError: the response has been
+# rejected. Although it may be parsable, the server is forbidden from
+# sending it in the current context. The client should automatically
+# disconnect, abruptly (without logout).
+#
+# Note that InvalidResponseError does not inherit from ResponseError: it
+# can be raised before the response is fully parsed. A related
+# ResponseParseError or ResponseError may be the #cause.
+#
+# pkg:gem/net-imap#lib/net/imap/errors.rb:99
+class Net::IMAP::InvalidResponseError < ::Net::IMAP::Error; end
+
+# Mailbox attribute indicating that this mailbox is where messages deemed to
+# be junk mail are held. Some server implementations might put messages here
+# automatically. Alternatively, this might just be advice to a client-side
+# spam filter.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:242
+Net::IMAP::JUNK = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:149
+class Net::IMAP::Literal < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:150
+ def send_data(imap, tag); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/errors.rb:10
+class Net::IMAP::LoginDisabledError < ::Net::IMAP::Error
+ # @return [LoginDisabledError] a new instance of LoginDisabledError
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:11
+ def initialize(msg = T.unsafe(nil), *_arg1, **_arg2, &_arg3); end
+end
+
+# The +\NonExistent+ attribute indicates that a mailbox name does not refer
+# to an existing mailbox. Note that this attribute is not meaningful by
+# itself, as mailbox names that match the canonical #list pattern but don't
+# exist must not be returned unless one of the two conditions listed below
+# is also satisfied:
+#
+# 1. The mailbox name also satisfies the selection criteria (for example,
+# it is subscribed and the "SUBSCRIBED" selection option has been
+# specified).
+#
+# 2. "RECURSIVEMATCH" has been specified, and the mailbox name has at least
+# one descendant mailbox name that does not match the #list pattern and
+# does match the selection criteria.
+#
+# In practice, this means that the +\NonExistent+ attribute is usually
+# returned with one or more of +\Subscribed+, +\Remote+, +\HasChildren+, or
+# the CHILDINFO extended data item.
+#
+# The client must treat the presence of the +\NonExistent+ attribute as if the
+# +\NoSelect+ attribute was also sent by the server
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:105
+Net::IMAP::NONEXISTENT = T.let(T.unsafe(nil), Symbol)
+
+# Mailbox attribute indicating it is not possible for any child levels of
+# hierarchy to exist under this name; no child levels exist now and none can
+# be created in the future children.
+#
+# The client must treat the presence of the +\NoInferiors+ attribute as if the
+# +\HasNoChildren+ attribute was also sent by the server
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:113
+Net::IMAP::NO_INFERIORS = T.let(T.unsafe(nil), Symbol)
+
+# Mailbox attribute indicating it is not possible to use this name as a
+# selectable mailbox.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:117
+Net::IMAP::NO_SELECT = T.let(T.unsafe(nil), Symbol)
+
+# Namespace represents a _single_ namespace, contained inside a Namespaces
+# object.
+#
+# == Required capability
+# Requires either +NAMESPACE+ [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]]
+# or +IMAP4rev2+ capability.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:465
+class Net::IMAP::Namespace < ::Struct; end
+
+# Namespaces represents the data of an untagged +NAMESPACE+ response,
+# returned by IMAP#namespace.
+#
+# Contains lists of #personal, #shared, and #other namespaces.
+#
+# == Required capability
+# Requires either +NAMESPACE+ [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]]
+# or +IMAP4rev2+ capability.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:494
+class Net::IMAP::Namespaces < ::Struct; end
+
+# Common validators of number and nz_number types
+#
+# pkg:gem/net-imap#lib/net/imap/data_encoding.rb:157
+module Net::IMAP::NumValidator
+ private
+
+ # Like #ensure_mod_sequence_value, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:241
+ def coerce_mod_sequence_value(num); end
+
+ # Like #ensure_mod_sequence_valzer, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:251
+ def coerce_mod_sequence_valzer(num); end
+
+ # Like #ensure_number, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:221
+ def coerce_number(num); end
+
+ # Like #ensure_nz_number, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:231
+ def coerce_nz_number(num); end
+
+ # Ensure argument is 'mod-sequence-value' or raise DataFormatError
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:207
+ def ensure_mod_sequence_value(num); end
+
+ # Ensure argument is 'mod-sequence-valzer' or raise DataFormatError
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:214
+ def ensure_mod_sequence_valzer(num); end
+
+ # Ensure argument is 'number' or raise DataFormatError
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:193
+ def ensure_number(num); end
+
+ # Ensure argument is 'nz-number' or raise DataFormatError
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:200
+ def ensure_nz_number(num); end
+
+ # Check if argument is a valid 'mod-sequence-value' according to RFC 4551
+ # mod-sequence-value = 1*DIGIT
+ # ; Positive unsigned 64-bit integer
+ # ; (mod-sequence)
+ # ; (1 <= n < 18,446,744,073,709,551,615)
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:182
+ def valid_mod_sequence_value?(num); end
+
+ # Check if argument is a valid 'mod-sequence-valzer' according to RFC 4551
+ # mod-sequence-valzer = "0" / mod-sequence-value
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:188
+ def valid_mod_sequence_valzer?(num); end
+
+ # Check if argument is a valid 'number' according to RFC 3501
+ # number = 1*DIGIT
+ # ; Unsigned 32-bit integer
+ # ; (0 <= n < 4,294,967,296)
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:165
+ def valid_number?(num); end
+
+ # Check if argument is a valid 'nz-number' according to RFC 3501
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:173
+ def valid_nz_number?(num); end
+
+ class << self
+ # Like #ensure_mod_sequence_value, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:241
+ def coerce_mod_sequence_value(num); end
+
+ # Like #ensure_mod_sequence_valzer, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:251
+ def coerce_mod_sequence_valzer(num); end
+
+ # Like #ensure_number, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:221
+ def coerce_number(num); end
+
+ # Like #ensure_nz_number, but usable with numeric String input.
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:231
+ def coerce_nz_number(num); end
+
+ # Ensure argument is 'mod-sequence-value' or raise DataFormatError
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:207
+ def ensure_mod_sequence_value(num); end
+
+ # Ensure argument is 'mod-sequence-valzer' or raise DataFormatError
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:214
+ def ensure_mod_sequence_valzer(num); end
+
+ # Ensure argument is 'number' or raise DataFormatError
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:193
+ def ensure_number(num); end
+
+ # Ensure argument is 'nz-number' or raise DataFormatError
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:200
+ def ensure_nz_number(num); end
+
+ # Check if argument is a valid 'mod-sequence-value' according to RFC 4551
+ # mod-sequence-value = 1*DIGIT
+ # ; Positive unsigned 64-bit integer
+ # ; (mod-sequence)
+ # ; (1 <= n < 18,446,744,073,709,551,615)
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:182
+ def valid_mod_sequence_value?(num); end
+
+ # Check if argument is a valid 'mod-sequence-valzer' according to RFC 4551
+ # mod-sequence-valzer = "0" / mod-sequence-value
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:188
+ def valid_mod_sequence_valzer?(num); end
+
+ # Check if argument is a valid 'number' according to RFC 3501
+ # number = 1*DIGIT
+ # ; Unsigned 32-bit integer
+ # ; (0 <= n < 4,294,967,296)
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:165
+ def valid_number?(num); end
+
+ # Check if argument is a valid 'nz-number' according to RFC 3501
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:173
+ def valid_nz_number?(num); end
+ end
+end
+
+# :nodoc
+#
+# pkg:gem/net-imap#lib/net/imap/data_encoding.rb:158
+Net::IMAP::NumValidator::NUMBER_RE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:155
+class Net::IMAP::PartialRange < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:162
+ def initialize(data:); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:180
+ def formatted; end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:182
+ def send_data(imap, tag); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:158
+Net::IMAP::PartialRange::NEG_RANGE = T.let(T.unsafe(nil), Range)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:160
+Net::IMAP::PartialRange::Negative = T.let(T.unsafe(nil), Proc)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:157
+Net::IMAP::PartialRange::POS_RANGE = T.let(T.unsafe(nil), Range)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:159
+Net::IMAP::PartialRange::Positive = T.let(T.unsafe(nil), Proc)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:143
+class Net::IMAP::QuotedString < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:144
+ def send_data(imap, tag); end
+end
+
+# The mailbox is a remote mailbox.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:176
+Net::IMAP::REMOTE = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap.rb:3118
+Net::IMAP::RESPONSES_DEPRECATION_MSG = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/errors.rb:113
+Net::IMAP::RESPONSE_ERRORS = T.let(T.unsafe(nil), Hash)
+
+# pkg:gem/net-imap#lib/net/imap.rb:3606
+Net::IMAP::RETURN_START = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap.rb:3605
+Net::IMAP::RETURN_WHOLE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:131
+class Net::IMAP::RawData < ::Net::IMAP::CommandData
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:132
+ def send_data(imap, tag); end
+end
+
+# Superclass of all errors used to encapsulate "fail" responses
+# from the server.
+#
+# pkg:gem/net-imap#lib/net/imap/errors.rb:59
+class Net::IMAP::ResponseError < ::Net::IMAP::Error
+ # @return [ResponseError] a new instance of ResponseError
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:64
+ def initialize(response); end
+
+ # The response that caused this error
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:62
+ def response; end
+
+ # The response that caused this error
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:62
+ def response=(_arg0); end
+end
+
+# Parses an \IMAP server response.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:5
+class Net::IMAP::ResponseParser
+ include ::Net::IMAP::ResponseParser::ParserUtils
+ include ::Net::IMAP::ResponseParser::ResponseConditions
+ extend ::Net::IMAP::ResponseParser::ParserUtils::Generator
+
+ # Creates a new ResponseParser.
+ #
+ # When +config+ is frozen or global, the parser #config inherits from it.
+ # Otherwise, +config+ will be used directly.
+ #
+ # @return [ResponseParser] a new instance of ResponseParser
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:20
+ def initialize(config: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:477
+ def CRLF!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:477
+ def CRLF?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:478
+ def EOF!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:478
+ def EOF?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:460
+ def NIL!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:460
+ def NIL?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:430
+ def PLUS!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:430
+ def PLUS?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:429
+ def SP!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:429
+ def SP?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:431
+ def STAR!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:431
+ def STAR?; end
+
+ # RFC-3501 & RFC-9051:
+ # body-fld-enc = (DQUOTE ("7BIT" / "8BIT" / "BINARY" / "BASE64"/
+ # "QUOTED-PRINTABLE") DQUOTE) / string
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1263
+ def body_fld_enc; end
+
+ # valid number ranges are not enforced by parser
+ # number64 = 1*DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 <= n <= 9,223,372,036,854,775,807)
+ # number in 3501, number64 in 9051
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1256
+ def body_fld_lines; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1258
+ def body_fld_octets; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:454
+ def case_insensitive__string; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:454
+ def case_insensitive__string?; end
+
+ # Returns the value of attribute config.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:14
+ def config; end
+
+ # date-time = DQUOTE date-day-fixed "-" date-month "-" date-year
+ # SP time SP zone DQUOTE
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1048
+ def date_time; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:436
+ def lbra; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:436
+ def lbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:477
+ def lookahead_CRLF!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:478
+ def lookahead_EOF!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:460
+ def lookahead_NIL!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:430
+ def lookahead_PLUS?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:429
+ def lookahead_SP?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:431
+ def lookahead_STAR?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1060
+ def lookahead_body?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:454
+ def lookahead_case_insensitive__string!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:436
+ def lookahead_lbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:433
+ def lookahead_lpar?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:443
+ def lookahead_number!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:445
+ def lookahead_quoted!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:437
+ def lookahead_rbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:434
+ def lookahead_rpar?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:448
+ def lookahead_string!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:451
+ def lookahead_string8!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:475
+ def lookahead_tagged_ext_label!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1628
+ def lookahead_thread_list?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1629
+ def lookahead_thread_nested?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:433
+ def lpar; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:433
+ def lpar?; end
+
+ # text/*
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1184
+ def media_subtype; end
+
+ # valid number ranges are not enforced by parser
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ # valid number ranges are not enforced by parser
+ # nz-number64 = digit-nz *DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 < n <= 9,223,372,036,854,775,807)
+ # RFC7162:
+ # mod-sequence-value = 1*DIGIT
+ # ;; Positive unsigned 63-bit integer
+ # ;; (mod-sequence)
+ # ;; (1 <= n <= 9,223,372,036,854,775,807).
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2125
+ def mod_sequence_value; end
+
+ # valid number ranges are not enforced by parser
+ # number64 = 1*DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 <= n <= 9,223,372,036,854,775,807)
+ # RFC7162:
+ # mod-sequence-valzer = "0" / mod-sequence-value
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2134
+ def mod_sequence_valzer; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:443
+ def number; end
+
+ # valid number ranges are not enforced by parser
+ # number64 = 1*DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 <= n <= 9,223,372,036,854,775,807)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:643
+ def number64; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:644
+ def number64?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:443
+ def number?; end
+
+ # valid number ranges are not enforced by parser
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:650
+ def nz_number; end
+
+ # valid number ranges are not enforced by parser
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ # valid number ranges are not enforced by parser
+ # nz-number64 = digit-nz *DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 < n <= 9,223,372,036,854,775,807)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:657
+ def nz_number64; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:651
+ def nz_number?; end
+
+ # :call-seq:
+ # parse(str) -> ContinuationRequest
+ # parse(str) -> UntaggedResponse
+ # parse(str) -> TaggedResponse
+ #
+ # Raises ResponseParseError for unparsable strings.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:35
+ def parse(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:430
+ def peek_PLUS?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:429
+ def peek_SP?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:431
+ def peek_STAR?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:436
+ def peek_lbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:433
+ def peek_lpar?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:437
+ def peek_rbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:434
+ def peek_rpar?; end
+
+ # valid number ranges are not enforced by parser
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ # valid number ranges are not enforced by parser
+ # nz-number64 = digit-nz *DIGIT
+ # ; Unsigned 63-bit integer
+ # ; (0 < n <= 9,223,372,036,854,775,807)
+ # RFC7162:
+ # mod-sequence-value = 1*DIGIT
+ # ;; Positive unsigned 63-bit integer
+ # ;; (mod-sequence)
+ # ;; (1 <= n <= 9,223,372,036,854,775,807).
+ # RFC7162:
+ # permsg-modsequence = mod-sequence-value
+ # ;; Per-message mod-sequence.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2130
+ def permsg_modsequence; end
+
+ # Used when servers erroneously send an extra SP.
+ #
+ # As of 2023-11-28, Outlook.com (still) sends SP
+ # between +address+ in env-* lists.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1044
+ def quirky_SP?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:445
+ def quoted; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:445
+ def quoted?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:437
+ def rbra; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:437
+ def rbra?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:434
+ def rpar; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:434
+ def rpar?; end
+
+ # search-modifier-name = tagged-ext-label
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1597
+ def search_modifier_name; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:448
+ def string; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:451
+ def string8; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:451
+ def string8?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:448
+ def string?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:475
+ def tagged_ext_label; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:475
+ def tagged_ext_label?; end
+
+ # valid number ranges are not enforced by parser
+ # nz-number = digit-nz *DIGIT
+ # ; Non-zero unsigned 32-bit integer
+ # ; (0 < n < 4,294,967,296)
+ # valid number ranges are not enforced by parser
+ # uniqueid = nz-number
+ # ; Strictly ascending
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:662
+ def uniqueid; end
+
+ # valid number ranges are not enforced by parser
+ #
+ # a 64-bit unsigned integer and is the decimal equivalent for the ID hex
+ # string used in the web interface and the Gmail API.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:668
+ def x_gm_id; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2030
+ def AppendUID(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2031
+ def CopyUID(*_arg0, **_arg1, &_arg2); end
+
+ # TODO: remove this code in the v0.6.0 release
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2021
+ def DeprecatedUIDPlus(validity, src_uids = T.unsafe(nil), dst_uids); end
+
+ # The RFC is very strict about this and usually we should be too.
+ # But skipping spaces is usually a safe workaround for buggy servers.
+ #
+ # This advances @pos directly so it's safe before changing @lex_state.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2172
+ def accept_spaces; end
+
+ # acl-data = "ACL" SP mailbox *(SP identifier SP rights)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1458
+ def acl_data; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2062
+ def addr_adl; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2063
+ def addr_host; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2064
+ def addr_mailbox; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2065
+ def addr_name; end
+
+ # address = "(" addr-name SP addr-adl SP addr-mailbox SP
+ # addr-host ")"
+ # addr-adl = nstring
+ # addr-host = nstring
+ # addr-mailbox = nstring
+ # addr-name = nstring
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2047
+ def address; end
+
+ # astring = 1*ASTRING-CHAR / string
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:528
+ def astring; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:532
+ def astring?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:513
+ def astring_chars; end
+
+ # TODO: handle atom, astring_chars, and tag entirely inside the lexer
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:512
+ def atom; end
+
+ # the #accept version of #atom
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:517
+ def atom?; end
+
+ # RFC-3501 & RFC-9051:
+ # body = "(" (body-type-1part / body-type-mpart) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1053
+ def body; end
+
+ # RFC2060
+ # body_ext_1part ::= body_fld_md5 [SPACE body_fld_dsp
+ # [SPACE body_fld_lang
+ # [SPACE 1#body_extension]]]
+ # ;; MUST NOT be returned on non-extensible
+ # ;; "BODY" fetch
+ # RFC3501 & RFC9051
+ # body-ext-1part = body-fld-md5 [SP body-fld-dsp [SP body-fld-lang
+ # [SP body-fld-loc *(SP body-extension)]]]
+ # ; MUST NOT be returned on non-extensible
+ # ; "BODY" fetch
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1225
+ def body_ext_1part; end
+
+ # RFC-2060:
+ # body_ext_mpart = body_fld_param [SP body_fld_dsp SP body_fld_lang
+ # [SP 1#body_extension]]
+ # ;; MUST NOT be returned on non-extensible
+ # ;; "BODY" fetch
+ # RFC-3501 & RFC-9051:
+ # body-ext-mpart = body-fld-param [SP body-fld-dsp [SP body-fld-lang
+ # [SP body-fld-loc *(SP body-extension)]]]
+ # ; MUST NOT be returned on non-extensible
+ # ; "BODY" fetch
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1244
+ def body_ext_mpart; end
+
+ # body-extension = nstring / number / number64 /
+ # "(" body-extension *(SP body-extension) ")"
+ # ; Future expansion. Client implementations
+ # ; MUST accept body-extension fields. Server
+ # ; implementations MUST NOT generate
+ # ; body-extension fields except as defined by
+ # ; future Standard or Standards Track
+ # ; revisions of this specification.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1301
+ def body_extension; end
+
+ # body-extension *(SP body-extension)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1287
+ def body_extensions; end
+
+ # RFC-3501 & RFC-9051:
+ # body-fields = body-fld-param SP body-fld-id SP body-fld-desc SP
+ # body-fld-enc SP body-fld-octets
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1189
+ def body_fields; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1253
+ def body_fld_desc; end
+
+ # body-fld-dsp = "(" string SP body-fld-param ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1266
+ def body_fld_dsp; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1254
+ def body_fld_id; end
+
+ # body-fld-lang = nstring / "(" string *(SP string) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1275
+ def body_fld_lang; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1255
+ def body_fld_loc; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1257
+ def body_fld_md5; end
+
+ # RFC3501, RFC9051:
+ # body-fld-param = "(" string SP string *(SP string SP string) ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1201
+ def body_fld_param; end
+
+ # RFC-3501 & RFC9051:
+ # body-type-1part = (body-type-basic / body-type-msg / body-type-text)
+ # [SP body-ext-1part]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1065
+ def body_type_1part; end
+
+ # RFC-3501 & RFC9051:
+ # body-type-basic = media-basic SP body-fields
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1089
+ def body_type_basic; end
+
+ # This is a malformed body-type-mpart with no subparts.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1138
+ def body_type_mixed; end
+
+ # RFC-3501 & RFC-9051:
+ # body-type-mpart = 1*body SP media-subtype
+ # [SP body-ext-mpart]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1148
+ def body_type_mpart; end
+
+ # RFC-3501 & RFC-9051:
+ # body-type-msg = media-message SP body-fields SP envelope
+ # SP body SP body-fld-lines
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1110
+ def body_type_msg; end
+
+ # RFC-3501 & RFC-9051:
+ # body-type-text = media-text SP body-fields SP body-fld-lines
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1099
+ def body_type_text; end
+
+ # Returns atom.upcase
+ # capability = ("AUTH=" auth-type) / atom
+ # ; New capabilities MUST begin with "X" or be
+ # ; registered with IANA as standard or
+ # ; standards-track
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1776
+ def capability; end
+
+ # Returns atom?&.upcase
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1777
+ def capability?; end
+
+ # As a workaround for buggy servers, allow a trailing SP:
+ # *(SP capability) [SP]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1766
+ def capability__list; end
+
+ # The presence of "IMAP4rev1" or "IMAP4rev2" is unenforced here.
+ # The grammar rule is used by both response-data and resp-text-code.
+ # But this method only returns UntaggedResponse (response-data).
+ #
+ # RFC3501:
+ # capability-data = "CAPABILITY" *(SP capability) SP "IMAP4rev1"
+ # *(SP capability)
+ # RFC9051:
+ # capability-data = "CAPABILITY" *(SP capability) SP "IMAP4rev2"
+ # *(SP capability)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1755
+ def capability_data__untagged; end
+
+ # Returns atom.upcase
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:520
+ def case_insensitive__atom; end
+
+ # Returns atom?&.upcase
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:523
+ def case_insensitive__atom?; end
+
+ # use where nstring represents "LABEL" values
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:581
+ def case_insensitive__nstring; end
+
+ # See https://www.rfc-editor.org/errata/rfc3501
+ #
+ # charset = atom / quoted
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2118
+ def charset; end
+
+ # "(" charset *(SP charset) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1989
+ def charset__list; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:798
+ def comparator_data(klass = T.unsafe(nil)); end
+
+ # RFC3501 & RFC9051:
+ # continue-req = "+" SP (resp-text / base64) CRLF
+ #
+ # n.b: base64 is valid resp-text. And in the spirit of RFC9051 Appx E 23
+ # (and to workaround existing servers), we use the following grammar:
+ #
+ # continue-req = "+" (SP (resp-text)) CRLF
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:698
+ def continue_req; end
+
+ # enable-data = "ENABLED" *(SP capability)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1760
+ def enable_data; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1038
+ def env_bcc; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1037
+ def env_cc; end
+
+ # nstring = string / nil
+ # env-date = nstring
+ # env-subject = nstring
+ # env-in-reply-to = nstring
+ # env-message-id = nstring
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1016
+ def env_date; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1033
+ def env_from; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1018
+ def env_in_reply_to; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1019
+ def env_message_id; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1035
+ def env_reply_to; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1034
+ def env_sender; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1017
+ def env_subject; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1036
+ def env_to; end
+
+ # RFC3501 & RFC9051:
+ # envelope = "(" env-date SP env-subject SP env-from SP
+ # env-sender SP env-reply-to SP env-to SP env-cc SP
+ # env-bcc SP env-in-reply-to SP env-message-id ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:993
+ def envelope; end
+
+ # esearch-response = "ESEARCH" [search-correlator] [SP "UID"]
+ # *(SP search-return-data)
+ # ;; Note that SEARCH and ESEARCH responses
+ # ;; SHOULD be mutually exclusive,
+ # ;; i.e., only one of the response types
+ # ;; should be
+ # ;; returned as a result of a command.
+ # esearch-response = "ESEARCH" [search-correlator] [SP "UID"]
+ # *(SP search-return-data)
+ # ; ESEARCH response replaces SEARCH response
+ # ; from IMAP4rev1.
+ # search-correlator = SP "(" "TAG" SP tag-string ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1524
+ def esearch_response; end
+
+ # The name for this is confusing, because it *replaces* EXPUNGE
+ # >>>
+ # expunged-resp = "VANISHED" [SP "(EARLIER)"] SP known-uids
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:875
+ def expunged_resp; end
+
+ # flag-list = "(" [flag *(SP flag)] ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2068
+ def flag_list; end
+
+ # "(" [flag-perm *(SP flag-perm)] ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2078
+ def flag_perm__list; end
+
+ # TODO: handle atom, astring_chars, and tag entirely inside the lexer
+ # this represents the partial size for BODY or BINARY
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:987
+ def gt__number__lt; end
+
+ # astring = 1*ASTRING-CHAR / string
+ # RFC3501 & RFC9051:
+ # header-fld-name = astring
+ #
+ # NOTE: Previously, Net::IMAP recreated the raw original source string.
+ # Now, it returns the decoded astring value. Although this is technically
+ # incompatible, it should almost never make a difference: all standard
+ # header field names are valid atoms:
+ #
+ # https://www.iana.org/assignments/message-headers/message-headers.xhtml
+ #
+ # See also RFC5233:
+ # optional-field = field-name ":" unstructured CRLF
+ # field-name = 1*ftext
+ # ftext = %d33-57 / ; Printable US-ASCII
+ # %d59-126 ; characters not including
+ # ; ":".
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1373
+ def header_fld_name; end
+
+ # header-list = "(" header-fld-name *(SP header-fld-name) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1345
+ def header_list; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1779
+ def id_response; end
+
+ # sequence-set = (seq-number / seq-range) ["," sequence-set]
+ # sequence-set =/ seq-last-command
+ # ; Allow for "result of the last command"
+ # ; indicator.
+ # seq-last-command = "$"
+ #
+ # *note*: doesn't match seq-last-command
+ # TODO: replace with uid_set
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:884
+ def known_uids; end
+
+ # Use #label or #label_in to assert specific known labels
+ # (+tagged-ext-label+ only, not +atom+).
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:538
+ def label(word); end
+
+ # Use #label or #label_in to assert specific known labels
+ # (+tagged-ext-label+ only, not +atom+).
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:545
+ def label_in(*labels); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:797
+ def language_data(klass = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:794
+ def listrights_data(klass = T.unsafe(nil)); end
+
+ # astring = 1*ASTRING-CHAR / string
+ # mailbox = "INBOX" / astring
+ # ; INBOX is case-insensitive. All case variants of
+ # ; INBOX (e.g., "iNbOx") MUST be interpreted as INBOX
+ # ; not as an astring. An astring which consists of
+ # ; the case-insensitive sequence "I" "N" "B" "O" "X"
+ # ; is considered to be INBOX and not an astring.
+ # ; Refer to section 5.1 for further
+ # ; semantic details of mailbox names.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:637
+ def mailbox; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:869
+ def mailbox_data__exists; end
+
+ # mailbox-data = "FLAGS" SP flag-list / "LIST" SP mailbox-list /
+ # "LSUB" SP mailbox-list / "SEARCH" *(SP nz-number) /
+ # "STATUS" SP mailbox SP "(" [status-att-list] ")" /
+ # number SP "EXISTS" / number SP "RECENT"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1380
+ def mailbox_data__flags; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1386
+ def mailbox_data__list; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1391
+ def mailbox_data__lsub; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:870
+ def mailbox_data__recent; end
+
+ # RFC3501:
+ # mailbox-data = "SEARCH" *(SP nz-number) / ...
+ # RFC5256: SORT
+ # sort-data = "SORT" *(SP nz-number)
+ # RFC7162: CONDSTORE, QRESYNC
+ # mailbox-data =/ "SEARCH" [1*(SP nz-number) SP
+ # search-sort-mod-seq]
+ # sort-data = "SORT" [1*(SP nz-number) SP
+ # search-sort-mod-seq]
+ # ; Updates the SORT response from RFC 5256.
+ # search-sort-mod-seq = "(" "MODSEQ" SP mod-sequence-value ")"
+ # RFC9051:
+ # mailbox-data = obsolete-search-response / ...
+ # obsolete-search-response = "SEARCH" *(SP nz-number)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1498
+ def mailbox_data__search; end
+
+ # mailbox-data =/ "STATUS" SP mailbox SP "(" [status-att-list] ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1669
+ def mailbox_data__status; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1392
+ def mailbox_data__xlist; end
+
+ # mailbox-list = "(" [mbx-list-flags] ")" SP
+ # (DQUOTE QUOTED-CHAR DQUOTE / nil) SP mailbox
+ # [SP mbox-list-extended]
+ # ; This is the list information pointed to by the ABNF
+ # ; item "mailbox-data", which is defined above
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1399
+ def mailbox_list; end
+
+ # See Patterns::MBX_LIST_FLAGS
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2096
+ def mbx_list_flags; end
+
+ # n.b. this handles both type and subtype
+ #
+ # RFC-3501 vs RFC-9051:
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "MESSAGE" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "FONT" / "MESSAGE" / "MODEL" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ #
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE "RFC822" DQUOTE
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE ("RFC822" / "GLOBAL") DQUOTE
+ #
+ # RFC-3501 & RFC-9051:
+ # media-text = DQUOTE "TEXT" DQUOTE SP media-subtype
+ # media-subtype = string
+ # TODO: check types
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1180
+ def media_basic; end
+
+ # n.b. this handles both type and subtype
+ #
+ # RFC-3501 vs RFC-9051:
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "MESSAGE" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "FONT" / "MESSAGE" / "MODEL" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ #
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE "RFC822" DQUOTE
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE ("RFC822" / "GLOBAL") DQUOTE
+ #
+ # RFC-3501 & RFC-9051:
+ # media-text = DQUOTE "TEXT" DQUOTE SP media-subtype
+ # media-subtype = string
+ # */* --- catchall
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1181
+ def media_message; end
+
+ # n.b. this handles both type and subtype
+ #
+ # RFC-3501 vs RFC-9051:
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "MESSAGE" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "FONT" / "MESSAGE" / "MODEL" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ #
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE "RFC822" DQUOTE
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE ("RFC822" / "GLOBAL") DQUOTE
+ #
+ # RFC-3501 & RFC-9051:
+ # media-text = DQUOTE "TEXT" DQUOTE SP media-subtype
+ # media-subtype = string
+ # message/rfc822, message/global
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1182
+ def media_text; end
+
+ # n.b. this handles both type and subtype
+ #
+ # RFC-3501 vs RFC-9051:
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "MESSAGE" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ # media-basic = ((DQUOTE ("APPLICATION" / "AUDIO" / "IMAGE" /
+ # "FONT" / "MESSAGE" / "MODEL" /
+ # "VIDEO") DQUOTE) / string) SP media-subtype
+ #
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE "RFC822" DQUOTE
+ # media-message = DQUOTE "MESSAGE" DQUOTE SP
+ # DQUOTE ("RFC822" / "GLOBAL") DQUOTE
+ #
+ # RFC-3501 & RFC-9051:
+ # media-text = DQUOTE "TEXT" DQUOTE SP media-subtype
+ # media-subtype = string
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1172
+ def media_type; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:799
+ def message_data__converted(klass = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:868
+ def message_data__expunge; end
+
+ # message-data = nz-number SP ("EXPUNGE" / ("FETCH" SP msg-att))
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:847
+ def message_data__fetch; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:796
+ def metadata_resp(klass = T.unsafe(nil)); end
+
+ # RFC3501 & RFC9051:
+ # msg-att = "(" (msg-att-dynamic / msg-att-static)
+ # *(SP (msg-att-dynamic / msg-att-static)) ")"
+ #
+ # msg-att-dynamic = "FLAGS" SP "(" [flag-fetch *(SP flag-fetch)] ")"
+ # RFC5257 (ANNOTATE extension):
+ # msg-att-dynamic =/ "ANNOTATION" SP
+ # ( "(" entry-att *(SP entry-att) ")" /
+ # "(" entry *(SP entry) ")" )
+ # RFC7162 (CONDSTORE extension):
+ # msg-att-dynamic =/ fetch-mod-resp
+ # fetch-mod-resp = "MODSEQ" SP "(" permsg-modsequence ")"
+ # RFC8970 (PREVIEW extension):
+ # msg-att-dynamic =/ "PREVIEW" SP nstring
+ #
+ # RFC3501:
+ # msg-att-static = "ENVELOPE" SP envelope /
+ # "INTERNALDATE" SP date-time /
+ # "RFC822" [".HEADER" / ".TEXT"] SP nstring /
+ # "RFC822.SIZE" SP number /
+ # "BODY" ["STRUCTURE"] SP body /
+ # "BODY" section ["<" number ">"] SP nstring /
+ # "UID" SP uniqueid
+ # RFC3516 (BINARY extension):
+ # msg-att-static =/ "BINARY" section-binary SP (nstring / literal8)
+ # / "BINARY.SIZE" section-binary SP number
+ # RFC8514 (SAVEDATE extension):
+ # msg-att-static =/ "SAVEDATE" SP (date-time / nil)
+ # RFC8474 (OBJECTID extension):
+ # msg-att-static =/ fetch-emailid-resp / fetch-threadid-resp
+ # fetch-emailid-resp = "EMAILID" SP "(" objectid ")"
+ # fetch-threadid-resp = "THREADID" SP ( "(" objectid ")" / nil )
+ # RFC9051:
+ # msg-att-static = "ENVELOPE" SP envelope /
+ # "INTERNALDATE" SP date-time /
+ # "RFC822.SIZE" SP number64 /
+ # "BODY" ["STRUCTURE"] SP body /
+ # "BODY" section ["<" number ">"] SP nstring /
+ # "BINARY" section-binary SP (nstring / literal8) /
+ # "BINARY.SIZE" section-binary SP number /
+ # "UID" SP uniqueid
+ #
+ # Re https://www.rfc-editor.org/errata/eid7246, I'm adding "offset" to the
+ # official "BINARY" ABNF, like so:
+ #
+ # msg-att-static =/ "BINARY" section-binary ["<" number ">"] SP
+ # (nstring / literal8)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:933
+ def msg_att(n); end
+
+ # appends "[section]" and "" to the base label
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:970
+ def msg_att__label; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:795
+ def myrights_data(klass = T.unsafe(nil)); end
+
+ # namespace = nil / "(" 1*namespace-descr ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1826
+ def namespace; end
+
+ # namespace-descr = "(" string SP
+ # (DQUOTE QUOTED-CHAR DQUOTE / nil)
+ # [namespace-response-extensions] ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1837
+ def namespace_descr; end
+
+ # namespace-response = "NAMESPACE" SP namespace
+ # SP namespace SP namespace
+ # ; The first Namespace is the Personal Namespace(s).
+ # ; The second Namespace is the Other Users'
+ # ; Namespace(s).
+ # ; The third Namespace is the Shared Namespace(s).
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1814
+ def namespace_response; end
+
+ # namespace-response-extensions = *namespace-response-extension
+ # namespace-response-extension = SP string SP
+ # "(" string *(SP string) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1849
+ def namespace_response_extensions; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1049
+ def ndatetime; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2179
+ def next_token; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2161
+ def nil_atom; end
+
+ # env-from = "(" 1*address ")" / nil
+ # env-sender = "(" 1*address ")" / nil
+ # env-reply-to = "(" 1*address ")" / nil
+ # env-to = "(" 1*address ")" / nil
+ # env-cc = "(" 1*address ")" / nil
+ # env-bcc = "(" 1*address ")" / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1027
+ def nlist__address; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2145
+ def nparens__objectid; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:576
+ def nquoted; end
+
+ # nstring = string / nil
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:568
+ def nstring; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:572
+ def nstring8; end
+
+ # TODO: handle atom, astring_chars, and tag entirely inside the lexer
+ # RFC8474:
+ # objectid = 1*255(ALPHA / DIGIT / "_" / "-")
+ # ; characters in object identifiers are case
+ # ; significant
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2142
+ def objectid; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2136
+ def parens__modseq; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2144
+ def parens__objectid; end
+
+ # partial-range = partial-range-first / partial-range-last
+ # tagged-ext-simple =/ partial-range-last
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1580
+ def partial_range; end
+
+ # partial-results = sequence-set / "NIL"
+ # ;; from [RFC3501].
+ # ;; NIL indicates that no results correspond to
+ # ;; the requested range.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1594
+ def partial_results; end
+
+ # This allows illegal "]" in flag names (Gmail),
+ # or "\*" in a FLAGS response (greenmail).
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2089
+ def quirky__flag_list(name); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1407
+ def quota_response; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1440
+ def quotaroot_response; end
+
+ # reads all the way up until CRLF
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:786
+ def remaining_unparsed; end
+
+ # As a workaround for buggy servers, allow a trailing SP:
+ # *(SP capability) [SP]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1770
+ def resp_code__capability; end
+
+ # already matched: "APPENDUID"
+ #
+ # +UIDPLUS+ ABNF:: https://www.rfc-editor.org/rfc/rfc4315.html#section-4
+ # resp-code-apnd = "APPENDUID" SP nz-number SP append-uid
+ # append-uid = uniqueid
+ # append-uid =/ uid-set
+ # ; only permitted if client uses [MULTIAPPEND]
+ # ; to append multiple messages.
+ #
+ # n.b, uniqueid ⊂ uid-set. To avoid inconsistent return types, we always
+ # match uid_set even if that returns a single-member array.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2004
+ def resp_code_apnd__data; end
+
+ # already matched: "COPYUID"
+ #
+ # resp-code-copy = "COPYUID" SP nz-number SP uid-set SP uid-set
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2013
+ def resp_code_copy__data; end
+
+ # resp-cond-auth = ("OK" / "PREAUTH") SP resp-text
+ #
+ # NOTE: In the spirit of RFC9051 Appx E 23 (and to workaround existing
+ # servers), we don't require a final SP and instead parse this as:
+ #
+ # resp-cond-auth = ("OK" / "PREAUTH") [SP resp-text]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:828
+ def resp_cond_auth; end
+
+ # expects "OK" or "PREAUTH" and raises InvalidResponseError on failure
+ #
+ # @raise [InvalidResponseError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:552
+ def resp_cond_auth__name; end
+
+ # resp-cond-bye = "BYE" SP resp-text
+ #
+ # NOTE: In the spirit of RFC9051 Appx E 23 (and to workaround existing
+ # servers), we don't require a final SP and instead parse this as:
+ #
+ # resp-cond-bye = "BYE" [SP resp-text]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:840
+ def resp_cond_bye; end
+
+ # RFC3501 & RFC9051:
+ # resp-cond-state = ("OK" / "NO" / "BAD") SP resp-text
+ #
+ # NOTE: In the spirit of RFC9051 Appx E 23 (and to workaround existing
+ # servers), we don't require a final SP and instead parse this as:
+ #
+ # resp-cond-state = ("OK" / "NO" / "BAD") [SP resp-text]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:814
+ def resp_cond_state; end
+
+ # expects "OK" or "NO" or "BAD" and raises InvalidResponseError on failure
+ #
+ # @raise [InvalidResponseError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:560
+ def resp_cond_state__name; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:818
+ def resp_cond_state__untagged; end
+
+ # RFC3501:
+ # resp-text = ["[" resp-text-code "]" SP] text
+ # RFC9051:
+ # resp-text = ["[" resp-text-code "]" SP] [text]
+ #
+ # We leniently re-interpret this as
+ # resp-text = ["[" resp-text-code "]" [SP [text]] / [text]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1885
+ def resp_text; end
+
+ # RFC3501 (See https://www.rfc-editor.org/errata/rfc3501):
+ # resp-text-code = "ALERT" /
+ # "BADCHARSET" [SP "(" charset *(SP charset) ")" ] /
+ # capability-data / "PARSE" /
+ # "PERMANENTFLAGS" SP "(" [flag-perm *(SP flag-perm)] ")" /
+ # "READ-ONLY" / "READ-WRITE" / "TRYCREATE" /
+ # "UIDNEXT" SP nz-number / "UIDVALIDITY" SP nz-number /
+ # "UNSEEN" SP nz-number /
+ # atom [SP 1*]
+ # capability-data = "CAPABILITY" *(SP capability) SP "IMAP4rev1"
+ # *(SP capability)
+ #
+ # RFC5530:
+ # resp-text-code =/ "UNAVAILABLE" / "AUTHENTICATIONFAILED" /
+ # "AUTHORIZATIONFAILED" / "EXPIRED" /
+ # "PRIVACYREQUIRED" / "CONTACTADMIN" / "NOPERM" /
+ # "INUSE" / "EXPUNGEISSUED" / "CORRUPTION" /
+ # "SERVERBUG" / "CLIENTBUG" / "CANNOT" /
+ # "LIMIT" / "OVERQUOTA" / "ALREADYEXISTS" /
+ # "NONEXISTENT"
+ # RFC9051:
+ # resp-text-code = "ALERT" /
+ # "BADCHARSET" [SP "(" charset *(SP charset) ")" ] /
+ # capability-data / "PARSE" /
+ # "PERMANENTFLAGS" SP "(" [flag-perm *(SP flag-perm)] ")" /
+ # "READ-ONLY" / "READ-WRITE" / "TRYCREATE" /
+ # "UIDNEXT" SP nz-number / "UIDVALIDITY" SP nz-number /
+ # resp-code-apnd / resp-code-copy / "UIDNOTSTICKY" /
+ # "UNAVAILABLE" / "AUTHENTICATIONFAILED" /
+ # "AUTHORIZATIONFAILED" / "EXPIRED" /
+ # "PRIVACYREQUIRED" / "CONTACTADMIN" / "NOPERM" /
+ # "INUSE" / "EXPUNGEISSUED" / "CORRUPTION" /
+ # "SERVERBUG" / "CLIENTBUG" / "CANNOT" /
+ # "LIMIT" / "OVERQUOTA" / "ALREADYEXISTS" /
+ # "NONEXISTENT" / "NOTSAVED" / "HASCHILDREN" /
+ # "CLOSED" /
+ # "UNKNOWN-CTE" /
+ # atom [SP 1*]
+ # capability-data = "CAPABILITY" *(SP capability) SP "IMAP4rev2"
+ # *(SP capability)
+ #
+ # RFC4315 (UIDPLUS), RFC9051 (IMAP4rev2):
+ # resp-code-apnd = "APPENDUID" SP nz-number SP append-uid
+ # resp-code-copy = "COPYUID" SP nz-number SP uid-set SP uid-set
+ # resp-text-code =/ resp-code-apnd / resp-code-copy / "UIDNOTSTICKY"
+ #
+ # RFC7162 (CONDSTORE):
+ # resp-text-code =/ "HIGHESTMODSEQ" SP mod-sequence-value /
+ # "NOMODSEQ" /
+ # "MODIFIED" SP sequence-set
+ # RFC7162 (QRESYNC):
+ # resp-text-code =/ "CLOSED"
+ #
+ # RFC8474: OBJECTID
+ # resp-text-code =/ "MAILBOXID" SP "(" objectid ")"
+ #
+ # RFC9586: UIDONLY
+ # resp-text-code =/ "UIDREQUIRED"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1952
+ def resp_text_code; end
+
+ # Returns atom.upcase
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1981
+ def resp_text_code__name; end
+
+ # [RFC3501 & RFC9051:]
+ # response = *(continue-req / response-data) response-done
+ #
+ # For simplicity, response isn't interpreted as the combination of the
+ # three response types, but instead represents any individual server
+ # response. Our simplified interpretation is defined as:
+ # response = continue-req | response_data | response-tagged
+ #
+ # n.b: our "response-tagged" definition parses "greeting" too.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:679
+ def response; end
+
+ # [RFC3501:]
+ # response-data = "*" SP (resp-cond-state / resp-cond-bye /
+ # mailbox-data / message-data / capability-data) CRLF
+ # [RFC4466:]
+ # response-data = "*" SP response-payload CRLF
+ # response-payload = resp-cond-state / resp-cond-bye /
+ # mailbox-data / message-data / capability-data
+ # RFC5161 (ENABLE capability):
+ # response-data =/ "*" SP enable-data CRLF
+ # RFC5255 (LANGUAGE capability)
+ # response-payload =/ language-data
+ # RFC5255 (I18NLEVEL=1 and I18NLEVEL=2 capabilities)
+ # response-payload =/ comparator-data
+ # [RFC9051:]
+ # response-data = "*" SP (resp-cond-state / resp-cond-bye /
+ # mailbox-data / message-data / capability-data /
+ # enable-data) CRLF
+ #
+ # [merging in greeting and response-fatal:]
+ # greeting = "*" SP (resp-cond-auth / resp-cond-bye) CRLF
+ # response-fatal = "*" SP resp-cond-bye CRLF
+ # response-data =/ "*" SP (resp-cond-auth / resp-cond-bye) CRLF
+ # [removing duplicates, this is simply]
+ # response-payload =/ resp-cond-auth
+ #
+ # TODO: remove resp-cond-auth and handle greeting separately
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:731
+ def response_data; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:791
+ def response_data__ignored; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:792
+ def response_data__noop; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:862
+ def response_data__simple_numeric; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:773
+ def response_data__unhandled(klass = T.unsafe(nil)); end
+
+ # RFC3501 & RFC9051:
+ # response-tagged = tag SP resp-cond-state CRLF
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:803
+ def response_tagged; end
+
+ # From RFC5267 (CONTEXT=SEARCH, CONTEXT=SORT) and RFC9394 (PARTIAL):
+ # ret-data-partial = "PARTIAL"
+ # SP "(" partial-range SP partial-results ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1570
+ def ret_data_partial__value; end
+
+ # search-correlator = SP "(" "TAG" SP tag-string ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1608
+ def search_correlator; end
+
+ # From RFC4731 (ESEARCH):
+ # search-return-data = "MIN" SP nz-number /
+ # "MAX" SP nz-number /
+ # "ALL" SP sequence-set /
+ # "COUNT" SP number /
+ # search-ret-data-ext
+ # ; All return data items conform to
+ # ; search-ret-data-ext syntax.
+ # search-ret-data-ext = search-modifier-name SP search-return-value
+ # search-modifier-name = tagged-ext-label
+ # search-return-value = tagged-ext-val
+ #
+ # From RFC4731 (ESEARCH):
+ # search-return-data =/ "MODSEQ" SP mod-sequence-value
+ #
+ # From RFC9394 (PARTIAL):
+ # search-return-data =/ ret-data-partial
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1552
+ def search_return_data; end
+
+ # search-return-value = tagged-ext-val
+ # ; Data for the returned search option.
+ # ; A single "nz-number"/"number"/"number64" value
+ # ; can be returned as an atom (i.e., without
+ # ; quoting). A sequence-set can be returned
+ # ; as an atom as well.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1605
+ def search_return_value; end
+
+ # section = "[" [section-spec] "]"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1309
+ def section; end
+
+ # section-binary = "[" [section-part] "]"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1316
+ def section_binary; end
+
+ # TODO: handle atom, astring_chars, and tag entirely inside the lexer
+ # section-part = nz-number *("." nz-number)
+ # ; body part reference.
+ # ; Allows for accessing nested body parts.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1355
+ def section_part; end
+
+ # section-spec = section-msgtext / (section-part ["." section-text])
+ # section-msgtext = "HEADER" /
+ # "HEADER.FIELDS" [".NOT"] SP header-list /
+ # "TEXT"
+ # ; top-level or MESSAGE/RFC822 or
+ # ; MESSAGE/GLOBAL part
+ # section-part = nz-number *("." nz-number)
+ # ; body part reference.
+ # ; Allows for accessing nested body parts.
+ # section-text = section-msgtext / "MIME"
+ # ; text other than actual body part (headers,
+ # ; etc.)
+ #
+ # n.b: we could "cheat" here and just grab all text inside the brackets,
+ # but literals would need special treatment.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1337
+ def section_spec; end
+
+ # sequence-set = (seq-number / seq-range) ["," sequence-set]
+ # sequence-set =/ seq-last-command
+ # ; Allow for "result of the last command"
+ # ; indicator.
+ # seq-last-command = "$"
+ #
+ # *note*: doesn't match seq-last-command
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:493
+ def sequence_set; end
+
+ # RFC3501:
+ # mailbox-data = "SEARCH" *(SP nz-number) / ...
+ # RFC5256: SORT
+ # sort-data = "SORT" *(SP nz-number)
+ # RFC7162: CONDSTORE, QRESYNC
+ # mailbox-data =/ "SEARCH" [1*(SP nz-number) SP
+ # search-sort-mod-seq]
+ # sort-data = "SORT" [1*(SP nz-number) SP
+ # search-sort-mod-seq]
+ # ; Updates the SORT response from RFC 5256.
+ # search-sort-mod-seq = "(" "MODSEQ" SP mod-sequence-value ")"
+ # RFC9051:
+ # mailbox-data = obsolete-search-response / ...
+ # obsolete-search-response = "SEARCH" *(SP nz-number)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1510
+ def sort_data; end
+
+ # RFC3501
+ # status-att-list = status-att SP number *(SP status-att SP number)
+ # RFC4466, RFC9051, and RFC3501 Errata
+ # status-att-list = status-att-val *(SP status-att-val)
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1680
+ def status_att_list; end
+
+ # RFC3501 Errata:
+ # status-att-val = ("MESSAGES" SP number) / ("RECENT" SP number) /
+ # ("UIDNEXT" SP nz-number) / ("UIDVALIDITY" SP nz-number) /
+ # ("UNSEEN" SP number)
+ # RFC4466:
+ # status-att-val = ("MESSAGES" SP number) /
+ # ("RECENT" SP number) /
+ # ("UIDNEXT" SP nz-number) /
+ # ("UIDVALIDITY" SP nz-number) /
+ # ("UNSEEN" SP number)
+ # ;; Extensions to the STATUS responses
+ # ;; should extend this production.
+ # ;; Extensions should use the generic
+ # ;; syntax defined by tagged-ext.
+ # RFC9051:
+ # status-att-val = ("MESSAGES" SP number) /
+ # ("UIDNEXT" SP nz-number) /
+ # ("UIDVALIDITY" SP nz-number) /
+ # ("UNSEEN" SP number) /
+ # ("DELETED" SP number) /
+ # ("SIZE" SP number64)
+ # ; Extensions to the STATUS responses
+ # ; should extend this production.
+ # ; Extensions should use the generic
+ # ; syntax defined by tagged-ext.
+ # RFC7162:
+ # status-att-val =/ "HIGHESTMODSEQ" SP mod-sequence-valzer
+ # ;; Extends non-terminal defined in [RFC4466].
+ # ;; Value 0 denotes that the mailbox doesn't
+ # ;; support persistent mod-sequences
+ # ;; as described in Section 3.1.2.2.
+ # RFC7889:
+ # status-att-val =/ "APPENDLIMIT" SP (number / nil)
+ # ;; status-att-val is defined in RFC 4466
+ # RFC8438:
+ # status-att-val =/ "SIZE" SP number64
+ # RFC8474:
+ # status-att-val =/ "MAILBOXID" SP "(" objectid ")"
+ # ; follows tagged-ext production from [RFC4466]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1725
+ def status_att_val; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:514
+ def tag; end
+
+ # astring = 1*ASTRING-CHAR / string
+ # tag-string = astring
+ # ; represented as
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1615
+ def tag_string; end
+
+ # tagged-ext-comp = astring /
+ # tagged-ext-comp *(SP tagged-ext-comp) /
+ # "(" tagged-ext-comp ")"
+ # ; Extensions that follow this general
+ # ; syntax should use nstring instead of
+ # ; astring when appropriate in the context
+ # ; of the extension.
+ # ; Note that a message set or a "number"
+ # ; can always be represented as an "atom".
+ # ; A URL should be represented as
+ # ; a "quoted" string.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:596
+ def tagged_ext_comp; end
+
+ # tagged-ext-simple is a subset of atom
+ # TODO: recognize sequence-set in the lexer
+ #
+ # tagged-ext-simple = sequence-set / number / number64
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:613
+ def tagged_ext_simple; end
+
+ # tagged-ext-val = tagged-ext-simple /
+ # "(" [tagged-ext-comp] ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:619
+ def tagged_ext_val; end
+
+ # TEXT-CHAR =
+ # RFC3501:
+ # text = 1*TEXT-CHAR
+ # RFC9051:
+ # text = 1*(TEXT-CHAR / UTF8-2 / UTF8-3 / UTF8-4)
+ # ; Non-ASCII text can only be returned
+ # ; after ENABLE IMAP4rev2 command
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1869
+ def text; end
+
+ # an "accept" versiun of #text
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1874
+ def text?; end
+
+ # 1*
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1984
+ def text_chars_except_rbra; end
+
+ # RFC5256: THREAD
+ # thread-data = "THREAD" [SP 1*thread-list]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1619
+ def thread_data; end
+
+ # RFC5256: THREAD
+ # thread-list = "(" (thread-members / thread-nested) ")"
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1633
+ def thread_list; end
+
+ # RFC5256: THREAD
+ # thread-members = nz-number *(SP nz-number) [SP thread-nested]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1646
+ def thread_members; end
+
+ # RFC5256: THREAD
+ # thread-nested = 2*thread-list
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:1662
+ def thread_nested; end
+
+ # RFC-4315 (UIDPLUS) or RFC9051 (IMAP4rev2):
+ # uid-set = (uniqueid / uid-range) *("," uid-set)
+ # uid-range = (uniqueid ":" uniqueid)
+ # ; two uniqueid values and all values
+ # ; between these two regardless of order.
+ # ; Example: 2:4 and 4:2 are equivalent.
+ # uniqueid = nz-number
+ # ; Strictly ascending
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2155
+ def uid_set; end
+
+ # uidfetch-resp = uniqueid SP "UIDFETCH" SP msg-att
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:855
+ def uidfetch_resp; end
+
+ # See https://developers.google.com/gmail/imap/imap-extensions
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2103
+ def x_gm_label; end
+
+ # See https://developers.google.com/gmail/imap/imap-extensions
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:2106
+ def x_gm_labels; end
+end
+
+# ASTRING-CHAR = ATOM-CHAR / resp-specials
+# resp-specials = "]"
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:504
+Net::IMAP::ResponseParser::ASTRING_CHARS_TOKENS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:506
+Net::IMAP::ResponseParser::ASTRING_TOKENS = T.let(T.unsafe(nil), Array)
+
+# basic utility methods for parsing.
+#
+# (internal API, subject to change)
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:9
+module Net::IMAP::ResponseParser::ParserUtils
+ private
+
+ # like match, but does not raise error on failure.
+ #
+ # returns and shifts token on successful match
+ # returns nil and leaves @token unshifted on no match
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:148
+ def accept(*args); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:198
+ def accept_re(re); end
+
+ # To be used conditionally:
+ # assert_no_lookahead if config.debug?
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:158
+ def assert_no_lookahead; end
+
+ # TODO: after checking the lookahead, use a regexp for remaining chars.
+ # That way a loop isn't needed.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:121
+ def combine_adjacent(*tokens); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:169
+ def lookahead; end
+
+ # like match, without consuming the token
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:174
+ def lookahead!(*args); end
+
+ # like accept, without consuming the token
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:165
+ def lookahead?(*symbols); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:133
+ def match(*args); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:204
+ def match_re(re, name); end
+
+ # @raise [ResponseParseError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:218
+ def parse_error(fmt, *args); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:193
+ def peek_re(re); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:188
+ def peek_re?(re); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:183
+ def peek_str?(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:214
+ def shift_token; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:11
+module Net::IMAP::ResponseParser::ParserUtils::Generator
+ # we can skip lexer for single character matches, as a shortcut
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:17
+ def def_char_matchers(name, char, token); end
+
+ # TODO: move coersion to the token.value method?
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:62
+ def def_token_matchers(name, *token_symbols, coerce: T.unsafe(nil), send: T.unsafe(nil)); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:13
+Net::IMAP::ResponseParser::ParserUtils::Generator::LOOKAHEAD = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser/parser_utils.rb:14
+Net::IMAP::ResponseParser::ParserUtils::Generator::SHIFT_TOKEN = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:84
+module Net::IMAP::ResponseParser::Patterns
+ include ::Net::IMAP::ResponseParser::Patterns::RFC5234
+ include ::Net::IMAP::ResponseParser::Patterns::RFC3629
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:377
+ def unescape_quoted(quoted); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:371
+ def unescape_quoted!(quoted); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:377
+ def unescape_quoted(quoted); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:371
+ def unescape_quoted!(quoted); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:181
+Net::IMAP::ResponseParser::Patterns::ASTRING_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:185
+Net::IMAP::ResponseParser::Patterns::ASTRING_CHARS = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:179
+Net::IMAP::ResponseParser::Patterns::ASTRING_SPECIALS = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:184
+Net::IMAP::ResponseParser::Patterns::ATOM = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:186
+Net::IMAP::ResponseParser::Patterns::ATOMISH = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:182
+Net::IMAP::ResponseParser::Patterns::ATOM_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# atomish = 1*
+# ; We use "atomish" for msg-att and section, in order
+# ; to simplify "BODY[HEADER.FIELDS (foo bar)]".
+#
+# atom-specials = "(" / ")" / "{" / SP / CTL / list-wildcards /
+# quoted-specials / resp-specials
+# ATOM-CHAR =
+# atom = 1*ATOM-CHAR
+# ASTRING-CHAR = ATOM-CHAR / resp-specials
+# tag = 1*
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:178
+Net::IMAP::ResponseParser::Patterns::ATOM_SPECIALS = T.let(T.unsafe(nil), Regexp)
+
+# CHAR8 = %x01-ff
+# ; any OCTET except NUL, %x00
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:158
+Net::IMAP::ResponseParser::Patterns::CHAR8 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:194
+Net::IMAP::ResponseParser::Patterns::CODE_TEXT = T.let(T.unsafe(nil), Regexp)
+
+# resp-text-code = ... / atom [SP 1*]
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:193
+Net::IMAP::ResponseParser::Patterns::CODE_TEXT_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:86
+module Net::IMAP::ResponseParser::Patterns::CharClassSubtraction; end
+
+# flag = "\Answered" / "\Flagged" / "\Deleted" /
+# "\Seen" / "\Draft" / flag-keyword / flag-extension
+# ; Does not include "\Recent"
+# flag-extension = "\" atom
+# ; Future expansion. Client implementations
+# ; MUST accept flag-extension flags. Server
+# ; implementations MUST NOT generate
+# ; flag-extension flags except as defined by
+# ; a future Standard or Standards Track
+# ; revisions of this specification.
+# flag-keyword = "$MDNSent" / "$Forwarded" / "$Junk" /
+# "$NotJunk" / "$Phishing" / atom
+#
+# flag-perm = flag / "\*"
+#
+# Not checking for max one mbx-list-sflag in the parser.
+# >>>
+# mbx-list-oflag = "\Noinferiors" / child-mbox-flag /
+# "\Subscribed" / "\Remote" / flag-extension
+# ; Other flags; multiple from this list are
+# ; possible per LIST response, but each flag
+# ; can only appear once per LIST response
+# mbx-list-sflag = "\NonExistent" / "\Noselect" / "\Marked" /
+# "\Unmarked"
+# ; Selectability flags; only one per LIST response
+# child-mbox-flag = "\HasChildren" / "\HasNoChildren"
+# ; attributes for the CHILDREN return option, at most
+# ; one possible per LIST response
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:224
+Net::IMAP::ResponseParser::Patterns::FLAG = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:225
+Net::IMAP::ResponseParser::Patterns::FLAG_EXTENSION = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:226
+Net::IMAP::ResponseParser::Patterns::FLAG_KEYWORD = T.let(T.unsafe(nil), Regexp)
+
+# flag-list = "(" [flag *(SP flag)] ")"
+# resp-text-code =/ "PERMANENTFLAGS" SP
+# "(" [flag-perm *(SP flag-perm)] ")"
+# mbx-list-flags = *(mbx-list-oflag SP) mbx-list-sflag
+# *(SP mbx-list-oflag) /
+# mbx-list-oflag *(SP mbx-list-oflag)
+# (Not checking for max one mbx-list-sflag in the parser.)
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:237
+Net::IMAP::ResponseParser::Patterns::FLAG_LIST = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:227
+Net::IMAP::ResponseParser::Patterns::FLAG_PERM = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:238
+Net::IMAP::ResponseParser::Patterns::FLAG_PERM_LIST = T.let(T.unsafe(nil), Regexp)
+
+# list-wildcards = "%" / "*"
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:161
+Net::IMAP::ResponseParser::Patterns::LIST_WILDCARDS = T.let(T.unsafe(nil), Regexp)
+
+# RFC3501:
+# literal = "{" number "}" CRLF *CHAR8
+# ; Number represents the number of CHAR8s
+# RFC9051:
+# literal = "{" number64 ["+"] "}" CRLF *CHAR8
+# ; represents the number of CHAR8s.
+# ; A non-synchronizing literal is distinguished
+# ; from a synchronizing literal by the presence of
+# ; "+" before the closing "}".
+# ; Non-synchronizing literals are not allowed when
+# ; sent from server to the client.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:357
+Net::IMAP::ResponseParser::Patterns::LITERAL = T.let(T.unsafe(nil), Regexp)
+
+# RFC3516 (BINARY):
+# literal8 = "~{" number "}" CRLF *OCTET
+# ; represents the number of OCTETs
+# ; in the response string.
+# RFC9051:
+# literal8 = "~{" number64 "}" CRLF *OCTET
+# ; represents the number of OCTETs
+# ; in the response string.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:367
+Net::IMAP::ResponseParser::Patterns::LITERAL8 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:228
+Net::IMAP::ResponseParser::Patterns::MBX_FLAG = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:239
+Net::IMAP::ResponseParser::Patterns::MBX_LIST_FLAGS = T.let(T.unsafe(nil), Regexp)
+
+# nz-number = digit-nz *DIGIT
+# ; Non-zero unsigned 32-bit integer
+# ; (0 < n < 4,294,967,296)
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:281
+Net::IMAP::ResponseParser::Patterns::NZ_NUMBER = T.let(T.unsafe(nil), Regexp)
+
+# partial-range = partial-range-first / partial-range-last
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:343
+Net::IMAP::ResponseParser::Patterns::PARTIAL_RANGE = T.let(T.unsafe(nil), Regexp)
+
+# partial-range-first = nz-number ":" nz-number
+# ;; Request to search from oldest (lowest UIDs) to
+# ;; more recent messages.
+# ;; A range 500:400 is the same as 400:500.
+# ;; This is similar to from [RFC3501]
+# ;; but cannot contain "*".
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:334
+Net::IMAP::ResponseParser::Patterns::PARTIAL_RANGE_FIRST = T.let(T.unsafe(nil), Regexp)
+
+# partial-range-last = MINUS nz-number ":" MINUS nz-number
+# ;; Request to search from newest (highest UIDs) to
+# ;; oldest messages.
+# ;; A range -500:-400 is the same as -400:-500.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:340
+Net::IMAP::ResponseParser::Patterns::PARTIAL_RANGE_LAST = T.let(T.unsafe(nil), Regexp)
+
+# Gmail allows SP and "]" in flags.......
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:242
+Net::IMAP::ResponseParser::Patterns::QUIRKY_FLAG = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:243
+Net::IMAP::ResponseParser::Patterns::QUIRKY_FLAGS_LIST = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:254
+Net::IMAP::ResponseParser::Patterns::QUOTED_CHAR_esc = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:255
+Net::IMAP::ResponseParser::Patterns::QUOTED_CHAR_rev1 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:256
+Net::IMAP::ResponseParser::Patterns::QUOTED_CHAR_rev2 = T.let(T.unsafe(nil), Regexp)
+
+# RFC3501:
+# QUOTED-CHAR = /
+# "\" quoted-specials
+# RFC9051:
+# QUOTED-CHAR = /
+# "\" quoted-specials / UTF8-2 / UTF8-3 / UTF8-4
+# RFC3501 & RFC9051:
+# quoted = DQUOTE *QUOTED-CHAR DQUOTE
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:253
+Net::IMAP::ResponseParser::Patterns::QUOTED_CHAR_safe = T.let(T.unsafe(nil), Regexp)
+
+# quoted-specials = DQUOTE / "\"
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:163
+Net::IMAP::ResponseParser::Patterns::QUOTED_SPECIALS = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:258
+Net::IMAP::ResponseParser::Patterns::QUOTED_rev1 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:259
+Net::IMAP::ResponseParser::Patterns::QUOTED_rev2 = T.let(T.unsafe(nil), Regexp)
+
+# resp-specials = "]"
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:165
+Net::IMAP::ResponseParser::Patterns::RESP_SPECIALS = T.let(T.unsafe(nil), Regexp)
+
+# UTF-8, a transformation format of ISO 10646
+# >>>
+# UTF8-1 = %x00-7F
+# UTF8-tail = %x80-BF
+# UTF8-2 = %xC2-DF UTF8-tail
+# UTF8-3 = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
+# %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
+# UTF8-4 = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
+# %xF4 %x80-8F 2( UTF8-tail )
+# UTF8-char = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4
+# UTF8-octets = *( UTF8-char )
+#
+# n.b. String * Integer is used for repetition, rather than /x{3}/,
+# because ruby 3.2's linear-time cache-based optimization doesn't work
+# with "bounded or fixed times repetition nesting in another repetition
+# (e.g. /(a{2,3})*/). It is an implementation issue entirely, but we
+# believe it is hard to support this case correctly."
+# See https://bugs.ruby-lang.org/issues/19104
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:138
+module Net::IMAP::ResponseParser::Patterns::RFC3629; end
+
+# aka ASCII 7bit
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:139
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_1 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:141
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_2 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:142
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_3 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:146
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_4 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:149
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:150
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_OCTETS = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:140
+Net::IMAP::ResponseParser::Patterns::RFC3629::UTF8_TAIL = T.let(T.unsafe(nil), Regexp)
+
+# From RFC5234, "Augmented BNF for Syntax Specifications: ABNF"
+# >>>
+# ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
+# CHAR = %x01-7F
+# CRLF = CR LF
+# ; Internet standard newline
+# CTL = %x00-1F / %x7F
+# ; controls
+# DIGIT = %x30-39
+# ; 0-9
+# DQUOTE = %x22
+# ; " (Double Quote)
+# HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
+# OCTET = %x00-FF
+# SP = %x20
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:108
+module Net::IMAP::ResponseParser::Patterns::RFC5234; end
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:109
+Net::IMAP::ResponseParser::Patterns::RFC5234::ALPHA = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:110
+Net::IMAP::ResponseParser::Patterns::RFC5234::CHAR = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:111
+Net::IMAP::ResponseParser::Patterns::RFC5234::CRLF = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:112
+Net::IMAP::ResponseParser::Patterns::RFC5234::CTL = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:113
+Net::IMAP::ResponseParser::Patterns::RFC5234::DIGIT = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:114
+Net::IMAP::ResponseParser::Patterns::RFC5234::DQUOTE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:115
+Net::IMAP::ResponseParser::Patterns::RFC5234::HEXDIG = T.let(T.unsafe(nil), Regexp)
+
+# not using /./m for embedding purposes
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:116
+Net::IMAP::ResponseParser::Patterns::RFC5234::OCTET = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:117
+Net::IMAP::ResponseParser::Patterns::RFC5234::SP = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:325
+Net::IMAP::ResponseParser::Patterns::SEQUENCE_SET = T.let(T.unsafe(nil), Regexp)
+
+# sequence-set = (seq-number / seq-range) ["," sequence-set]
+# ; set of seq-number values, regardless of order.
+# ; Servers MAY coalesce overlaps and/or execute
+# ; the sequence in any order.
+# ; Example: a message sequence number set of
+# ; 2,4:7,9,12:* for a mailbox with 15 messages is
+# ; equivalent to 2,4,5,6,7,9,12,13,14,15
+# ; Example: a message sequence number set of
+# ; *:4,5:7 for a mailbox with 10 messages is
+# ; equivalent to 10,9,8,7,6,5,4,5,6,7 and MAY
+# ; be reordered and overlap coalesced to be
+# ; 4,5,6,7,8,9,10.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:324
+Net::IMAP::ResponseParser::Patterns::SEQUENCE_SET_ITEM = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:326
+Net::IMAP::ResponseParser::Patterns::SEQUENCE_SET_STR = T.let(T.unsafe(nil), Regexp)
+
+# seq-number = nz-number / "*"
+# ; message sequence number (COPY, FETCH, STORE
+# ; commands) or unique identifier (UID COPY,
+# ; UID FETCH, UID STORE commands).
+# ; * represents the largest number in use. In
+# ; the case of message sequence numbers, it is
+# ; the number of messages in a non-empty mailbox.
+# ; In the case of unique identifiers, it is the
+# ; unique identifier of the last message in the
+# ; mailbox or, if the mailbox is empty, the
+# ; mailbox's current UIDNEXT value.
+# ; The server should respond with a tagged BAD
+# ; response to a command that uses a message
+# ; sequence number greater than the number of
+# ; messages in the selected mailbox. This
+# ; includes "*" if the selected mailbox is empty.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:299
+Net::IMAP::ResponseParser::Patterns::SEQ_NUMBER = T.let(T.unsafe(nil), Regexp)
+
+# seq-range = seq-number ":" seq-number
+# ; two seq-number values and all values between
+# ; these two regardless of order.
+# ; Example: 2:4 and 4:2 are equivalent and
+# ; indicate values 2, 3, and 4.
+# ; Example: a unique identifier sequence range of
+# ; 3291:* includes the UID of the last message in
+# ; the mailbox, even if that value is less than
+# ; 3291.
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:310
+Net::IMAP::ResponseParser::Patterns::SEQ_RANGE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:187
+Net::IMAP::ResponseParser::Patterns::TAG = T.let(T.unsafe(nil), Regexp)
+
+# tagged-ext-label = tagged-label-fchar *tagged-label-char
+# ; Is a valid RFC 3501 "atom".
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:276
+Net::IMAP::ResponseParser::Patterns::TAGGED_EXT_LABEL = T.let(T.unsafe(nil), Regexp)
+
+# tagged-label-char = tagged-label-fchar / DIGIT / ":"
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:273
+Net::IMAP::ResponseParser::Patterns::TAGGED_LABEL_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# tagged-label-fchar = ALPHA / "-" / "_" / "."
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:271
+Net::IMAP::ResponseParser::Patterns::TAGGED_LABEL_FCHAR = T.let(T.unsafe(nil), Regexp)
+
+# TEXT-CHAR =
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:190
+Net::IMAP::ResponseParser::Patterns::TEXT_CHAR = T.let(T.unsafe(nil), Regexp)
+
+# RFC3501:
+# text = 1*TEXT-CHAR
+# RFC9051:
+# text = 1*(TEXT-CHAR / UTF8-2 / UTF8-3 / UTF8-4)
+# ; Non-ASCII text can only be returned
+# ; after ENABLE IMAP4rev2 command
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:267
+Net::IMAP::ResponseParser::Patterns::TEXT_rev1 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:268
+Net::IMAP::ResponseParser::Patterns::TEXT_rev2 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:703
+Net::IMAP::ResponseParser::RE_RESPONSE_TYPE = T.let(T.unsafe(nil), Regexp)
+
+# end of response string
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:69
+module Net::IMAP::ResponseParser::ResponseConditions; end
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:78
+Net::IMAP::ResponseParser::ResponseConditions::AUTH_CONDS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:72
+Net::IMAP::ResponseParser::ResponseConditions::BAD = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:73
+Net::IMAP::ResponseParser::ResponseConditions::BYE = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:79
+Net::IMAP::ResponseParser::ResponseConditions::GREETING_CONDS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:71
+Net::IMAP::ResponseParser::ResponseConditions::NO = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:70
+Net::IMAP::ResponseParser::ResponseConditions::OK = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:74
+Net::IMAP::ResponseParser::ResponseConditions::PREAUTH = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:80
+Net::IMAP::ResponseParser::ResponseConditions::RESP_CONDS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:76
+Net::IMAP::ResponseParser::ResponseConditions::RESP_COND_STATES = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:77
+Net::IMAP::ResponseParser::ResponseConditions::RESP_DATA_CONDS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:484
+Net::IMAP::ResponseParser::SEQUENCE_SET_TOKENS = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:2166
+Net::IMAP::ResponseParser::SPACES_REGEXP = T.let(T.unsafe(nil), Regexp)
+
+# tag = 1*
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:509
+Net::IMAP::ResponseParser::TAG_TOKENS = T.let(T.unsafe(nil), Array)
+
+# starts with atom special
+#
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:64
+Net::IMAP::ResponseParser::T_LITERAL8 = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+class Net::IMAP::ResponseParser::Token < ::Struct
+ # Returns the value of attribute symbol
+ #
+ # @return [Object] the current value of symbol
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def symbol; end
+
+ # Sets the attribute symbol
+ #
+ # @param value [Object] the value to set the attribute symbol to.
+ # @return [Object] the newly set value
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def symbol=(_); end
+
+ # Returns the value of attribute value
+ #
+ # @return [Object] the current value of value
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def value; end
+
+ # Sets the attribute value
+ #
+ # @param value [Object] the value to set the attribute value to.
+ # @return [Object] the newly set value
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def value=(_); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def [](*_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def inspect; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def keyword_init?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def members; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_parser.rb:427
+ def new(*_arg0); end
+ end
+end
+
+# Error raised when the socket cannot be read, due to a Config limit.
+#
+# pkg:gem/net-imap#lib/net/imap/errors.rb:21
+class Net::IMAP::ResponseReadError < ::Net::IMAP::Error; end
+
+# See https://www.rfc-editor.org/rfc/rfc9051#section-2.2.2
+#
+# pkg:gem/net-imap#lib/net/imap/response_reader.rb:6
+class Net::IMAP::ResponseReader
+ # @return [ResponseReader] a new instance of ResponseReader
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:9
+ def initialize(client, sock); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:7
+ def client; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:13
+ def read_response_buffer; end
+
+ private
+
+ # Returns the value of attribute buff.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:29
+ def buff; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:31
+ def bytes_read; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:33
+ def done?; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:32
+ def empty?; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:35
+ def get_literal_size; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:34
+ def line_done?; end
+
+ # Returns the value of attribute literal_size.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:29
+ def literal_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:56
+ def max_response_remaining; end
+
+ # @raise [ResponseTooLargeError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:64
+ def max_response_remaining!; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:55
+ def max_response_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:60
+ def min_response_remaining; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:58
+ def min_response_size; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:51
+ def read_limit(limit = T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:37
+ def read_line; end
+
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:42
+ def read_literal; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_reader.rb:57
+ def response_too_large?; end
+end
+
+# Used to avoid an allocation when ResponseText is empty
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:180
+Net::IMAP::ResponseText::EMPTY = T.let(T.unsafe(nil), Net::IMAP::ResponseText)
+
+# Error raised when a response is larger than IMAP#max_response_size.
+#
+# pkg:gem/net-imap#lib/net/imap/errors.rb:25
+class Net::IMAP::ResponseTooLargeError < ::Net::IMAP::ResponseReadError
+ # @return [ResponseTooLargeError] a new instance of ResponseTooLargeError
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:29
+ def initialize(msg = T.unsafe(nil), *args, bytes_read: T.unsafe(nil), literal_size: T.unsafe(nil), max_response_size: T.unsafe(nil), **kwargs); end
+
+ # Returns the value of attribute bytes_read.
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:26
+ def bytes_read; end
+
+ # Returns the value of attribute literal_size.
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:26
+ def literal_size; end
+
+ # Returns the value of attribute max_response_size.
+ #
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:27
+ def max_response_size; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/errors.rb:46
+ def response_size_msg; end
+end
+
+# Pluggable authentication mechanisms for protocols which support SASL
+# (Simple Authentication and Security Layer), such as IMAP4, SMTP, LDAP, and
+# XMPP. {RFC-4422}[https://www.rfc-editor.org/rfc/rfc4422] specifies the
+# common \SASL framework:
+# >>>
+# SASL is conceptually a framework that provides an abstraction layer
+# between protocols and mechanisms as illustrated in the following
+# diagram.
+#
+# SMTP LDAP XMPP Other protocols ...
+# \ | | /
+# \ | | /
+# SASL abstraction layer
+# / | | \
+# / | | \
+# EXTERNAL GSSAPI PLAIN Other mechanisms ...
+#
+# Net::IMAP uses SASL via the Net::IMAP#authenticate method.
+#
+# == Mechanisms
+#
+# Each mechanism has different properties and requirements. Please consult
+# the documentation for the specific mechanisms you are using:
+#
+# +ANONYMOUS+::
+# See AnonymousAuthenticator.
+#
+# Allows the user to gain access to public services or resources without
+# authenticating or disclosing an identity.
+#
+# +EXTERNAL+::
+# See ExternalAuthenticator.
+#
+# Authenticates using already established credentials, such as a TLS
+# certificate or IPSec.
+#
+# +OAUTHBEARER+::
+# See OAuthBearerAuthenticator.
+#
+# Login using an OAuth2 Bearer token. This is the standard mechanism
+# for using OAuth2 with \SASL, but it is not yet deployed as widely as
+# +XOAUTH2+.
+#
+# +PLAIN+::
+# See PlainAuthenticator.
+#
+# Login using clear-text username and password.
+#
+# +SCRAM-SHA-1+::
+# +SCRAM-SHA-256+::
+# See ScramAuthenticator.
+#
+# Login by username and password. The password is not sent to the
+# server but is used in a salted challenge/response exchange.
+# +SCRAM-SHA-1+ and +SCRAM-SHA-256+ are directly supported by
+# Net::IMAP::SASL. New authenticators can easily be added for any other
+# SCRAM-* mechanism if the digest algorithm is supported by
+# OpenSSL::Digest.
+#
+# +XOAUTH2+::
+# See XOAuth2Authenticator.
+#
+# Login using a username and an OAuth2 access token. Non-standard and
+# obsoleted by +OAUTHBEARER+, but widely supported.
+#
+# See the {SASL mechanism
+# registry}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
+# for a list of all SASL mechanisms and their specifications. To register
+# new authenticators, see Authenticators.
+#
+# === Deprecated mechanisms
+#
+# Obsolete mechanisms should be avoided, but are still available for
+# backwards compatibility.
+#
+# >>>
+# For +DIGEST-MD5+ see DigestMD5Authenticator.
+#
+# For +LOGIN+, see LoginAuthenticator.
+#
+# For +CRAM-MD5+, see CramMD5Authenticator.
+#
+# Using a deprecated mechanism will print a warning.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:90
+module Net::IMAP::SASL
+ private
+
+ # See Net::IMAP::StringPrep::SASLprep#saslprep.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:176
+ def saslprep(string, **opts); end
+
+ class << self
+ # Delegates to ::authenticators. See Authenticators#add_authenticator.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:171
+ def add_authenticator(*_arg0, **_arg1, &_arg2); end
+
+ # Creates a new SASL authenticator, using SASL::Authenticators#new.
+ #
+ # +registry+ defaults to SASL.authenticators. All other arguments are
+ # forwarded to to registry.new.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:166
+ def authenticator(*args, registry: T.unsafe(nil), **kwargs, &block); end
+
+ # Returns the default global SASL::Authenticators instance.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:160
+ def authenticators; end
+
+ # See Net::IMAP::StringPrep::SASLprep#saslprep.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:176
+ def saslprep(string, **opts); end
+ end
+end
+
+# Authenticator for the "+ANONYMOUS+" SASL mechanism, as specified by
+# RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. See
+# Net::IMAP#authenticate.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:10
+class Net::IMAP::SASL::AnonymousAuthenticator
+ # :call-seq:
+ # new(anonymous_message = "", **) -> authenticator
+ # new(anonymous_message: "", **) -> authenticator
+ #
+ # Creates an Authenticator for the "+ANONYMOUS+" SASL mechanism, as
+ # specified in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. To use
+ # this, see Net::IMAP#authenticate or your client's authentication
+ # method.
+ #
+ # ==== Parameters
+ #
+ # * _optional_ #anonymous_message — a message to send to the server.
+ #
+ # Any other keyword arguments are silently ignored.
+ #
+ # @return [AnonymousAuthenticator] a new instance of AnonymousAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:37
+ def initialize(anon_msg = T.unsafe(nil), anonymous_message: T.unsafe(nil), **_arg2); end
+
+ # An optional token sent for the +ANONYMOUS+ mechanism., up to 255 UTF-8
+ # characters in length.
+ #
+ # If it contains an "@" sign, the message must be a valid email address
+ # (+addr-spec+ from RFC-2822[https://www.rfc-editor.org/rfc/rfc2822]).
+ # Email syntax is _not_ validated by AnonymousAuthenticator.
+ #
+ # Otherwise, it can be any UTF8 string which is permitted by the
+ # StringPrep::Trace profile.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:21
+ def anonymous_message; end
+
+ # Returns true when the initial client response was sent.
+ #
+ # The authentication should not succeed unless this returns true, but it
+ # does *not* indicate success.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:64
+ def done?; end
+
+ # :call-seq:
+ # initial_response? -> true
+ #
+ # +ANONYMOUS+ can send an initial client response.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:51
+ def initial_response?; end
+
+ # Returns #anonymous_message.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/anonymous_authenticator.rb:54
+ def process(_server_challenge_string); end
+end
+
+# Indicates an authentication exchange that will be or has been canceled
+# by the client, not due to any error or failure during processing.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:106
+class Net::IMAP::SASL::AuthenticationCanceled < ::Net::IMAP::SASL::Error; end
+
+# Indicates an error when processing a server challenge, e.g: an invalid
+# or unparsable challenge. An underlying exception may be available as
+# the exception's #cause.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:111
+class Net::IMAP::SASL::AuthenticationError < ::Net::IMAP::SASL::Error; end
+
+# AuthenticationExchange is used internally by Net::IMAP#authenticate.
+# But the API is still *experimental*, and may change.
+#
+# TODO: catch exceptions in #process and send #cancel_response.
+# TODO: raise an error if the command succeeds after being canceled.
+# TODO: use with more clients, to verify the API can accommodate them.
+# TODO: pass ClientAdapter#service to SASL.authenticator
+#
+# An AuthenticationExchange represents a single attempt to authenticate
+# a SASL client to a SASL server. It is created from a client adapter, a
+# mechanism name, and a mechanism authenticator. When #authenticate is
+# called, it will send the appropriate authenticate command to the server,
+# returning the client response on success and raising an exception on
+# failure.
+#
+# In most cases, the client will not need to use
+# SASL::AuthenticationExchange directly at all. Instead, use
+# SASL::ClientAdapter#authenticate. If customizations are needed, the
+# custom client adapter is probably the best place for that code.
+#
+# def authenticate(...)
+# MyClient::SASLAdapter.new(self).authenticate(...)
+# end
+#
+# SASL::ClientAdapter#authenticate delegates to ::authenticate, like so:
+#
+# def authenticate(...)
+# sasl_adapter = MyClient::SASLAdapter.new(self)
+# SASL::AuthenticationExchange.authenticate(sasl_adapter, ...)
+# end
+#
+# ::authenticate simply delegates to ::build and #authenticate, like so:
+#
+# def authenticate(...)
+# sasl_adapter = MyClient::SASLAdapter.new(self)
+# SASL::AuthenticationExchange
+# .build(sasl_adapter, ...)
+# .authenticate
+# end
+#
+# And ::build delegates to SASL.authenticator and ::new, like so:
+#
+# def authenticate(mechanism, ...)
+# sasl_adapter = MyClient::SASLAdapter.new(self)
+# authenticator = SASL.authenticator(mechanism, ...)
+# SASL::AuthenticationExchange
+# .new(sasl_adapter, mechanism, authenticator)
+# .authenticate
+# end
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:57
+class Net::IMAP::SASL::AuthenticationExchange
+ # @return [AuthenticationExchange] a new instance of AuthenticationExchange
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:84
+ def initialize(client, mechanism, authenticator, sasl_ir: T.unsafe(nil)); end
+
+ # Call #authenticate to execute an authentication exchange for #client
+ # using #authenticator. Authentication failures will raise an
+ # exception. Any exceptions other than those in RESPONSE_ERRORS will
+ # drop the connection.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:96
+ def authenticate; end
+
+ # Returns the value of attribute authenticator.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:82
+ def authenticator; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:117
+ def done?; end
+
+ # Returns the value of attribute mechanism.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:82
+ def mechanism; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:109
+ def send_initial_response?; end
+
+ private
+
+ # Returns the value of attribute client.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:123
+ def client; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:125
+ def initial_response; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:130
+ def process(challenge); end
+
+ class << self
+ # Convenience method for build(...).authenticate
+ #
+ # See also: SASL::ClientAdapter#authenticate
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:61
+ def authenticate(*_arg0, **_arg1, &_arg2); end
+
+ # Convenience method to combine the creation of a new authenticator and
+ # a new Authentication exchange.
+ #
+ # +client+ must be an instance of SASL::ClientAdapter.
+ #
+ # +mechanism+ must be a SASL mechanism name, as a string or symbol.
+ #
+ # +sasl_ir+ allows or disallows sending an "initial response", depending
+ # also on whether the server capabilities, mechanism authenticator, and
+ # client adapter all support it. Defaults to +true+.
+ #
+ # +mechanism+, +args+, +kwargs+, and +block+ are all forwarded to
+ # SASL.authenticator. Use the +registry+ kwarg to override the global
+ # SASL::Authenticators registry.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authentication_exchange.rb:77
+ def build(client, mechanism, *args, sasl_ir: T.unsafe(nil), **kwargs, &block); end
+ end
+end
+
+# Indicates that authentication cannot proceed because one of the server's
+# messages has not passed integrity checks.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:115
+class Net::IMAP::SASL::AuthenticationFailed < ::Net::IMAP::SASL::Error; end
+
+# Indicates that authentication cannot proceed because the server ended
+# authentication prematurely.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:119
+class Net::IMAP::SASL::AuthenticationIncomplete < ::Net::IMAP::SASL::AuthenticationFailed
+ # @return [AuthenticationIncomplete] a new instance of AuthenticationIncomplete
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:123
+ def initialize(response, message = T.unsafe(nil)); end
+
+ # The success response from the server
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl.rb:121
+ def response; end
+end
+
+# Registry for SASL authenticators
+#
+# Registered authenticators must respond to +#new+ or +#call+ (e.g. a class or
+# a proc), receiving any credentials and options and returning an
+# authenticator instance. The returned object represents a single
+# authentication exchange and must not be reused for multiple
+# authentication attempts.
+#
+# An authenticator instance object must respond to +#process+, receiving the
+# server's challenge and returning the client's response. Optionally, it may
+# also respond to +#initial_response?+ and +#done?+. When
+# +#initial_response?+ returns +true+, +#process+ may be called the first
+# time with +nil+. When +#done?+ returns +false+, the exchange is incomplete
+# and an exception should be raised if the exchange terminates prematurely.
+#
+# See the source for PlainAuthenticator, XOAuth2Authenticator, and
+# ScramSHA1Authenticator for examples.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:22
+class Net::IMAP::SASL::Authenticators
+ # Create a new Authenticators registry.
+ #
+ # This class is usually not instantiated directly. Use SASL.authenticators
+ # to reuse the default global registry.
+ #
+ # When +use_defaults+ is +false+, the registry will start empty. When
+ # +use_deprecated+ is +false+, deprecated authenticators will not be
+ # included with the defaults.
+ #
+ # @return [Authenticators] a new instance of Authenticators
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:36
+ def initialize(use_defaults: T.unsafe(nil), use_deprecated: T.unsafe(nil)); end
+
+ # :call-seq:
+ # add_authenticator(mechanism)
+ # add_authenticator(mechanism, authenticator_class)
+ # add_authenticator(mechanism, authenticator_proc)
+ #
+ # Registers an authenticator for #authenticator to use. +mechanism+ is the
+ # name of the
+ # {SASL mechanism}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
+ # implemented by +authenticator_class+ (for instance, "PLAIN").
+ #
+ # If +mechanism+ refers to an existing authenticator,
+ # the old authenticator will be replaced.
+ #
+ # When only a single argument is given, the authenticator class will be
+ # lazily loaded from Net::IMAP::SASL::#{name}Authenticator (case is
+ # preserved and non-alphanumeric characters are removed..
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:71
+ def add_authenticator(name, authenticator = T.unsafe(nil)); end
+
+ # :call-seq:
+ # authenticator(mechanism, ...) -> auth_session
+ #
+ # Builds an authenticator instance using the authenticator registered to
+ # +mechanism+. The returned object represents a single authentication
+ # exchange and must not be reused for multiple authentication
+ # attempts.
+ #
+ # All arguments (except +mechanism+) are forwarded to the registered
+ # authenticator's +#new+ or +#call+ method. Each authenticator must
+ # document its own arguments.
+ #
+ # [Note]
+ # This method is intended for internal use by connection protocol code
+ # only. Protocol client users should see refer to their client's
+ # documentation, e.g. Net::IMAP#authenticate.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:111
+ def authenticator(mechanism, *_arg1, **_arg2, &_arg3); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:90
+ def mechanism?(name); end
+
+ # Returns the names of all registered SASL mechanisms.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:53
+ def names; end
+
+ # :call-seq:
+ # authenticator(mechanism, ...) -> auth_session
+ #
+ # Builds an authenticator instance using the authenticator registered to
+ # +mechanism+. The returned object represents a single authentication
+ # exchange and must not be reused for multiple authentication
+ # attempts.
+ #
+ # All arguments (except +mechanism+) are forwarded to the registered
+ # authenticator's +#new+ or +#call+ method. Each authenticator must
+ # document its own arguments.
+ #
+ # [Note]
+ # This method is intended for internal use by connection protocol code
+ # only. Protocol client users should see refer to their client's
+ # documentation, e.g. Net::IMAP#authenticate.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:118
+ def new(mechanism, *_arg1, **_arg2, &_arg3); end
+
+ # Removes the authenticator registered for +name+
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:85
+ def remove_authenticator(name); end
+
+ class << self
+ # Normalize the mechanism name as an uppercase string, with underscores
+ # converted to dashes.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/authenticators.rb:26
+ def normalize_name(mechanism); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:8
+Net::IMAP::SASL::BidiStringError = Net::IMAP::StringPrep::BidiStringError
+
+# This API is *experimental*, and may change.
+#
+# TODO: use with more clients, to verify the API can accommodate them.
+#
+# Represents the client to a SASL::AuthenticationExchange. By default,
+# most methods simply delegate to #client. Clients should subclass
+# SASL::ClientAdapter and override methods as needed to match the
+# semantics of this API to their API.
+#
+# Subclasses should also include a protocol adapter mixin when the default
+# ProtocolAdapters::Generic isn't sufficient.
+#
+# === Protocol Requirements
+#
+# {RFC4422 §4}[https://www.rfc-editor.org/rfc/rfc4422.html#section-4]
+# lists requirements for protocol specifications to offer SASL. Where
+# possible, ClientAdapter delegates the handling of these requirements to
+# SASL::ProtocolAdapters.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:27
+class Net::IMAP::SASL::ClientAdapter
+ include ::Net::IMAP::SASL::ProtocolAdapters::Generic
+ extend ::Forwardable
+
+ # By default, this simply sets the #client and #command_proc attributes.
+ # Subclasses may override it, for example: to set the appropriate
+ # command_proc automatically.
+ #
+ # @return [ClientAdapter] a new instance of ClientAdapter
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:56
+ def initialize(client, &command_proc); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:76
+ def auth_capable?(*_arg0, **_arg1, &_arg2); end
+
+ # Attempt to authenticate #client to the server.
+ #
+ # By default, this simply delegates to
+ # AuthenticationExchange.authenticate.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:64
+ def authenticate(*_arg0, **_arg1, &_arg2); end
+
+ # method: drop_connection!
+ # Drop the connection abruptly, closing the socket without logging out.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:35
+ def client; end
+
+ # +command_proc+ can used to avoid exposing private methods on #client.
+ # It's value is set by the block that is passed to ::new, and it is used
+ # by the default implementation of #run_command. Subclasses that
+ # override #run_command may use #command_proc for any other purpose they
+ # find useful.
+ #
+ # In the default implementation of #run_command, command_proc is called
+ # with the protocols authenticate +command+ name, the +mechanism+ name,
+ # an _optional_ +initial_response+ argument, and a +continuations+
+ # block. command_proc must run the protocol command with the arguments
+ # sent to it, _yield_ the payload of each continuation, respond to the
+ # continuation with the result of each _yield_, and _return_ the
+ # command's successful result. Non-successful results *MUST* raise
+ # an exception.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:51
+ def command_proc; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:113
+ def drop_connection(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:118
+ def drop_connection!(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:99
+ def host(*_arg0, **_arg1, &_arg2); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:104
+ def port(*_arg0, **_arg1, &_arg2); end
+
+ # Returns an array of server responses errors raised by run_command.
+ # Exceptions in this array won't drop the connection.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:108
+ def response_errors; end
+
+ # Calls command_proc with +command_name+ (see
+ # SASL::ProtocolAdapters::Generic#command_name),
+ # +mechanism+, +initial_response+, and a +continuations_handler+ block.
+ # The +initial_response+ is optional; when it's nil, it won't be sent to
+ # command_proc.
+ #
+ # Yields each continuation payload, responds to the server with the
+ # result of each yield, and returns the result. Non-successful results
+ # *MUST* raise an exception. Exceptions in the block *MUST* cause the
+ # command to fail.
+ #
+ # Subclasses that override this may use #command_proc differently.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:90
+ def run_command(mechanism, initial_response = T.unsafe(nil), &continuations_handler); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/client_adapter.rb:69
+ def sasl_ir_capable?(*_arg0, **_arg1, &_arg2); end
+end
+
+# Authenticator for the "+CRAM-MD5+" SASL mechanism, specified in
+# RFC2195[https://www.rfc-editor.org/rfc/rfc2195]. See Net::IMAP#authenticate.
+#
+# == Deprecated
+#
+# +CRAM-MD5+ is obsolete and insecure. It is included for compatibility with
+# existing servers.
+# {draft-ietf-sasl-crammd5-to-historic}[https://www.rfc-editor.org/rfc/draft-ietf-sasl-crammd5-to-historic-00.html]
+# recommends using +SCRAM-*+ or +PLAIN+ protected by TLS instead.
+#
+# Additionally, RFC8314[https://www.rfc-editor.org/rfc/rfc8314] discourage the use
+# of cleartext and recommends TLS version 1.2 or greater be used for all
+# traffic. With TLS +CRAM-MD5+ is okay, but so is +PLAIN+
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:16
+class Net::IMAP::SASL::CramMD5Authenticator
+ # @return [CramMD5Authenticator] a new instance of CramMD5Authenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:17
+ def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg7); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:40
+ def done?; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:31
+ def initial_response?; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:33
+ def process(challenge); end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/cram_md5_authenticator.rb:44
+ def hmac_md5(text, key); end
+end
+
+# Net::IMAP authenticator for the +DIGEST-MD5+ SASL mechanism type, specified
+# in RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]. See Net::IMAP#authenticate.
+#
+# == Deprecated
+#
+# "+DIGEST-MD5+" has been deprecated by
+# RFC-6331[https://www.rfc-editor.org/rfc/rfc6331] and should not be relied on for
+# security. It is included for compatibility with existing servers.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:11
+class Net::IMAP::SASL::DigestMD5Authenticator
+ # :call-seq:
+ # new(username, password, authzid = nil, **options) -> authenticator
+ # new(username:, password:, authzid: nil, **options) -> authenticator
+ # new(authcid:, password:, authzid: nil, **options) -> authenticator
+ #
+ # Creates an Authenticator for the "+DIGEST-MD5+" SASL mechanism.
+ #
+ # Called by Net::IMAP#authenticate and similar methods on other clients.
+ #
+ # ==== Parameters
+ #
+ # * #authcid ― Authentication identity that is associated with #password.
+ #
+ # #username ― An alias for +authcid+.
+ #
+ # * #password ― A password or passphrase associated with this #authcid.
+ #
+ # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
+ #
+ # When +authzid+ is not set, the server should derive the authorization
+ # identity from the authentication identity.
+ #
+ # * _optional_ #realm — A namespace for the #username, e.g. a domain.
+ # Defaults to the last realm in the server-provided realms list.
+ # * _optional_ #host — FQDN for requested service.
+ # Defaults to #realm.
+ # * _optional_ #service_name — The generic host name when the server is
+ # replicated.
+ # * _optional_ #service — the registered service protocol. E.g. "imap",
+ # "smtp", "ldap", "xmpp".
+ # For Net::IMAP, this defaults to "imap".
+ #
+ # * _optional_ +warn_deprecation+ — Set to +false+ to silence the warning.
+ #
+ # Any other keyword arguments are silently ignored.
+ #
+ # @return [DigestMD5Authenticator] a new instance of DigestMD5Authenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:154
+ def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authz = T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), authzid: T.unsafe(nil), authcid: T.unsafe(nil), secret: T.unsafe(nil), realm: T.unsafe(nil), service: T.unsafe(nil), host: T.unsafe(nil), service_name: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg13); end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
+ # "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs abbreviate
+ # this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:46
+ def authcid; end
+
+ # Authorization identity: an identity to act as or on behalf of. The identity
+ # form is application protocol specific. If not provided or left blank, the
+ # server derives an authorization identity from the authentication identity.
+ # The server is responsible for verifying the client's credentials and
+ # verifying that the identity it associates with the client's authentication
+ # identity is allowed to act as (or on behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "DIGEST-MD5", "root", ->{passwd}, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:64
+ def authzid; end
+
+ # The charset sent by the server. "UTF-8" (case insensitive) is the only
+ # allowed value. +nil+ should be interpreted as ISO 8859-1.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:111
+ def charset; end
+
+ # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
+ # >>>
+ # Indicates the principal name of the service with which the client wishes
+ # to connect, formed from the serv-type, host, and serv-name. For
+ # example, the FTP service on "ftp.example.com" would have a "digest-uri"
+ # value of "ftp/ftp.example.com"; the SMTP server from the example above
+ # would have a "digest-uri" value of "smtp/mail3.example.com/example.com".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:186
+ def digest_uri; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:246
+ def done?; end
+
+ # Fully qualified canonical DNS host name for the requested service.
+ #
+ # Defaults to #realm.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:78
+ def host; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:194
+ def initial_response?; end
+
+ # nonce sent by the server
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:114
+ def nonce; end
+
+ # A password or passphrase that matches the #username.
+ #
+ # The +password+ will be used to create the response digest.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:51
+ def password; end
+
+ # Responds to server challenge in two stages.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:197
+ def process(challenge); end
+
+ # qop-options sent by the server
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:117
+ def qop; end
+
+ # A namespace or collection of identities which contains +username+.
+ #
+ # Used by DIGEST-MD5, GSS-API, and NTLM. This is often a domain name that
+ # contains the name of the host performing the authentication.
+ #
+ # Defaults to the last realm in the server-provided list of
+ # realms.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:73
+ def realm; end
+
+ # The service protocol, a
+ # {registered GSSAPI service name}[https://www.iana.org/assignments/gssapi-service-names/gssapi-service-names.xhtml],
+ # e.g. "imap", "ldap", or "xmpp".
+ #
+ # For Net::IMAP, the default is "imap" and should not be overridden. This
+ # must be set appropriately to use authenticators in other protocols.
+ #
+ # If an IANA-registered name isn't available, GSS-API
+ # (RFC-2743[https://www.rfc-editor.org/rfc/rfc2743]) allows the generic name
+ # "host".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:90
+ def service; end
+
+ # The generic server name when the server is replicated.
+ #
+ # +service_name+ will be ignored when it is +nil+ or identical to +host+.
+ #
+ # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
+ # >>>
+ # The service is considered to be replicated if the client's
+ # service-location process involves resolution using standard DNS lookup
+ # operations, and if these operations involve DNS records (such as SRV, or
+ # MX) which resolve one DNS name into a set of other DNS names. In this
+ # case, the initial name used by the client is the "serv-name", and the
+ # final name is the "host" component.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:104
+ def service_name; end
+
+ # Parameters sent by the server are stored in this hash.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:107
+ def sparams; end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
+ # "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs abbreviate
+ # this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:45
+ def username; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:306
+ def compute_a0(response); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:312
+ def compute_a1(response); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:319
+ def compute_a2(response); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:327
+ def format_response(response); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:286
+ def nc(nonce); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:259
+ def parse_challenge(challenge); end
+
+ # some responses need quoting
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:332
+ def qdval(k, v); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:294
+ def response_value(response); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:280
+ def split_quoted_list(value, challenge); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:254
+Net::IMAP::SASL::DigestMD5Authenticator::AUTH_PARAM = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:12
+Net::IMAP::SASL::DigestMD5Authenticator::DataFormatError = Net::IMAP::DataFormatError
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:253
+Net::IMAP::SASL::DigestMD5Authenticator::LIST_DELIM = T.let(T.unsafe(nil), Regexp)
+
+# less strict than RFC, more strict than '\s'
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:250
+Net::IMAP::SASL::DigestMD5Authenticator::LWS = T.let(T.unsafe(nil), Regexp)
+
+# Directives which must not have multiples. The RFC states:
+# >>>
+# This directive may appear at most once; if multiple instances are present,
+# the client should abort the authentication exchange.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:25
+Net::IMAP::SASL::DigestMD5Authenticator::NO_MULTIPLES = T.let(T.unsafe(nil), Array)
+
+# Directives which are composed of one or more comma delimited tokens
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:34
+Net::IMAP::SASL::DigestMD5Authenticator::QUOTED_LISTABLE = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:252
+Net::IMAP::SASL::DigestMD5Authenticator::QUOTED_STR = T.let(T.unsafe(nil), Regexp)
+
+# Required directives which must occur exactly once. The RFC states: >>>
+# This directive is required and MUST appear exactly once; if not present,
+# or if multiple instances are present, the client should abort the
+# authentication exchange.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:31
+Net::IMAP::SASL::DigestMD5Authenticator::REQUIRED = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:13
+Net::IMAP::SASL::DigestMD5Authenticator::ResponseParseError = Net::IMAP::ResponseParseError
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:18
+Net::IMAP::SASL::DigestMD5Authenticator::STAGE_DONE = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:16
+Net::IMAP::SASL::DigestMD5Authenticator::STAGE_ONE = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:17
+Net::IMAP::SASL::DigestMD5Authenticator::STAGE_TWO = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/digest_md5_authenticator.rb:251
+Net::IMAP::SASL::DigestMD5Authenticator::TOKEN = T.let(T.unsafe(nil), Regexp)
+
+# Exception class for any client error detected during the authentication
+# exchange.
+#
+# When the _server_ reports an authentication failure, it will respond
+# with a protocol specific error instead, e.g: +BAD+ or +NO+ in IMAP.
+#
+# When the client encounters any error, it *must* consider the
+# authentication exchange to be unsuccessful and it might need to drop the
+# connection. For example, if the server reports that the authentication
+# exchange was successful or the protocol does not allow additional
+# authentication attempts.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl.rb:102
+class Net::IMAP::SASL::Error < ::StandardError; end
+
+# Authenticator for the "+EXTERNAL+" SASL mechanism, as specified by
+# RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. See
+# Net::IMAP#authenticate.
+#
+# The EXTERNAL mechanism requests that the server use client credentials
+# established external to SASL, for example by TLS certificate or IPSec.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:13
+class Net::IMAP::SASL::ExternalAuthenticator
+ # :call-seq:
+ # new(authzid: nil, **) -> authenticator
+ # new(username: nil, **) -> authenticator
+ # new(username = nil, **) -> authenticator
+ #
+ # Creates an Authenticator for the "+EXTERNAL+" SASL mechanism, as
+ # specified in RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. To use
+ # this, see Net::IMAP#authenticate or your client's authentication
+ # method.
+ #
+ # ==== Parameters
+ #
+ # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
+ #
+ # _optional_ #username ― An alias for #authzid.
+ #
+ # Note that, unlike some other authenticators, +username+ sets the
+ # _authorization_ identity and not the _authentication_ identity. The
+ # authentication identity is established for the client by the
+ # external credentials.
+ #
+ # Any other keyword parameters are quietly ignored.
+ #
+ # @return [ExternalAuthenticator] a new instance of ExternalAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:52
+ def initialize(user = T.unsafe(nil), authzid: T.unsafe(nil), username: T.unsafe(nil), **_arg3); end
+
+ # Authorization identity: an identity to act as or on behalf of. The
+ # identity form is application protocol specific. If not provided or
+ # left blank, the server derives an authorization identity from the
+ # authentication identity. The server is responsible for verifying the
+ # client's credentials and verifying that the identity it associates
+ # with the client's authentication identity is allowed to act as (or on
+ # behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:27
+ def authzid; end
+
+ # Returns true when the initial client response was sent.
+ #
+ # The authentication should not succeed unless this returns true, but it
+ # does *not* indicate success.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:78
+ def done?; end
+
+ # :call-seq:
+ # initial_response? -> true
+ #
+ # +EXTERNAL+ can send an initial client response.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:65
+ def initial_response?; end
+
+ # Returns #authzid, or an empty string if there is no authzid.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:68
+ def process(_); end
+
+ # Authorization identity: an identity to act as or on behalf of. The
+ # identity form is application protocol specific. If not provided or
+ # left blank, the server derives an authorization identity from the
+ # authentication identity. The server is responsible for verifying the
+ # client's credentials and verifying that the identity it associates
+ # with the client's authentication identity is allowed to act as (or on
+ # behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/external_authenticator.rb:28
+ def username; end
+end
+
+# Originally defined for the GS2 mechanism family in
+# RFC5801[https://www.rfc-editor.org/rfc/rfc5801],
+# several different mechanisms start with a GS2 header:
+# * +GS2-*+ --- RFC5801[https://www.rfc-editor.org/rfc/rfc5801]
+# * +SCRAM-*+ --- RFC5802[https://www.rfc-editor.org/rfc/rfc5802]
+# (ScramAuthenticator)
+# * +SAML20+ --- RFC6595[https://www.rfc-editor.org/rfc/rfc6595]
+# * +OPENID20+ --- RFC6616[https://www.rfc-editor.org/rfc/rfc6616]
+# * +OAUTH10A+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
+# * +OAUTHBEARER+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
+# (OAuthBearerAuthenticator)
+#
+# Classes that include this module must implement +#authzid+.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:20
+module Net::IMAP::SASL::GS2Header
+ # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
+ # +gs2-authzid+ header, when +#authzid+ is not empty.
+ #
+ # If +#authzid+ is empty or +nil+, an empty string is returned.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:59
+ def gs2_authzid; end
+
+ # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
+ # +gs2-cb-flag+:
+ #
+ # "+n+":: The client doesn't support channel binding.
+ # "+y+":: The client does support channel binding
+ # but thinks the server does not.
+ # "+p+":: The client requires channel binding.
+ # The selected channel binding follows "+p=+".
+ #
+ # The default always returns "+n+". A mechanism that supports channel
+ # binding must override this method.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:53
+ def gs2_cb_flag; end
+
+ # The {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
+ # +gs2-header+, which prefixes the #initial_client_response.
+ #
+ # >>>
+ # Note: the actual GS2 header includes an optional flag to
+ # indicate that the GSS mechanism is not "standard", but since all of
+ # the SASL mechanisms using GS2 are "standard", we don't include that
+ # flag. A class for a nonstandard GSSAPI mechanism should prefix with
+ # "+F,+".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:37
+ def gs2_header; end
+
+ private
+
+ # Encodes +str+ to match RFC5801_SASLNAME.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:67
+ def gs2_saslname_encode(str); end
+
+ class << self
+ # Encodes +str+ to match RFC5801_SASLNAME.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:67
+ def gs2_saslname_encode(str); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:21
+Net::IMAP::SASL::GS2Header::NO_NULL_CHARS = T.let(T.unsafe(nil), Regexp)
+
+# Matches {RFC5801 §4}[https://www.rfc-editor.org/rfc/rfc5801#section-4]
+# +saslname+. The output from gs2_saslname_encode matches this Regexp.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/gs2_header.rb:26
+Net::IMAP::SASL::GS2Header::RFC5801_SASLNAME = T.let(T.unsafe(nil), Regexp)
+
+# Authenticator for the "+LOGIN+" SASL mechanism. See Net::IMAP#authenticate.
+#
+# +LOGIN+ authentication sends the password in cleartext.
+# RFC3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
+# cleartext authentication until after TLS has been negotiated.
+# RFC8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
+# greater be used for all traffic, and deprecate cleartext access ASAP. +LOGIN+
+# can be secured by TLS encryption.
+#
+# == Deprecated
+#
+# The {SASL mechanisms
+# registry}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
+# marks "LOGIN" as obsoleted in favor of "PLAIN". It is included here for
+# compatibility with existing servers. See
+# {draft-murchison-sasl-login}[https://www.iana.org/go/draft-murchison-sasl-login]
+# for both specification and deprecation.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:20
+class Net::IMAP::SASL::LoginAuthenticator
+ # @return [LoginAuthenticator] a new instance of LoginAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:26
+ def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), warn_deprecation: T.unsafe(nil), **_arg7); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:55
+ def done?; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:40
+ def initial_response?; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:42
+ def process(data); end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:23
+Net::IMAP::SASL::LoginAuthenticator::STATE_DONE = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:22
+Net::IMAP::SASL::LoginAuthenticator::STATE_PASSWORD = T.let(T.unsafe(nil), Symbol)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/login_authenticator.rb:21
+Net::IMAP::SASL::LoginAuthenticator::STATE_USER = T.let(T.unsafe(nil), Symbol)
+
+# Abstract base class for the SASL mechanisms defined in
+# RFC7628[https://www.rfc-editor.org/rfc/rfc7628]:
+# * OAUTHBEARER[rdoc-ref:OAuthBearerAuthenticator]
+# (OAuthBearerAuthenticator)
+# * OAUTH10A
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:14
+class Net::IMAP::SASL::OAuthAuthenticator
+ include ::Net::IMAP::SASL::GS2Header
+
+ # Creates an RFC7628[https://www.rfc-editor.org/rfc/rfc7628] OAuth
+ # authenticator.
+ #
+ # ==== Parameters
+ #
+ # See child classes for required parameter(s). The following parameters
+ # are all optional, but it is worth noting that application protocols
+ # are allowed to require #authzid (or other parameters, such as
+ # #host or #port) as are specific server implementations.
+ #
+ # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
+ #
+ # _optional_ #username — An alias for #authzid.
+ #
+ # Note that, unlike some other authenticators, +username+ sets the
+ # _authorization_ identity and not the _authentication_ identity. The
+ # authentication identity is established for the client by the OAuth
+ # token.
+ #
+ # * _optional_ #host — Hostname to which the client connected.
+ # * _optional_ #port — Service port to which the client connected.
+ # * _optional_ #mthd — HTTP method
+ # * _optional_ #path — HTTP path data
+ # * _optional_ #post — HTTP post data
+ # * _optional_ #qs — HTTP query string
+ #
+ # _optional_ #query — An alias for #qs
+ #
+ # Any other keyword parameters are quietly ignored.
+ #
+ # @return [OAuthAuthenticator] a new instance of OAuthAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:84
+ def initialize(authzid: T.unsafe(nil), host: T.unsafe(nil), port: T.unsafe(nil), username: T.unsafe(nil), query: T.unsafe(nil), mthd: T.unsafe(nil), path: T.unsafe(nil), post: T.unsafe(nil), qs: T.unsafe(nil), **_arg9); end
+
+ # Value of the HTTP Authorization header
+ #
+ # Implemented by subclasses.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:124
+ def authorization; end
+
+ # Authorization identity: an identity to act as or on behalf of. The
+ # identity form is application protocol specific. If not provided or
+ # left blank, the server derives an authorization identity from the
+ # authentication identity. The server is responsible for verifying the
+ # client's credentials and verifying that the identity it associates
+ # with the client's authentication identity is allowed to act as (or on
+ # behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:29
+ def authzid; end
+
+ # Returns true when the initial client response was sent.
+ #
+ # The authentication should not succeed unless this returns true, but it
+ # does *not* indicate success.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:119
+ def done?; end
+
+ # Hostname to which the client connected. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:33
+ def host; end
+
+ # The {RFC7628 §3.1}[https://www.rfc-editor.org/rfc/rfc7628#section-3.1]
+ # formatted response.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:99
+ def initial_client_response; end
+
+ # Stores the most recent server "challenge". When authentication fails,
+ # this may hold information about the failure reason, as JSON.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:53
+ def last_server_response; end
+
+ # HTTP method. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:39
+ def mthd; end
+
+ # HTTP path data. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:42
+ def path; end
+
+ # Service port to which the client connected. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:36
+ def port; end
+
+ # HTTP post data. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:45
+ def post; end
+
+ # Returns initial_client_response the first time, then "^A".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:108
+ def process(data); end
+
+ # The query string. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:48
+ def qs; end
+
+ # The query string. (optional)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:49
+ def query; end
+
+ # Authorization identity: an identity to act as or on behalf of. The
+ # identity form is application protocol specific. If not provided or
+ # left blank, the server derives an authorization identity from the
+ # authentication identity. The server is responsible for verifying the
+ # client's credentials and verifying that the identity it associates
+ # with the client's authentication identity is allowed to act as (or on
+ # behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:30
+ def username; end
+end
+
+# Authenticator for the "+OAUTHBEARER+" SASL mechanism, specified in
+# RFC7628[https://www.rfc-editor.org/rfc/rfc7628]. Authenticates using
+# OAuth 2.0 bearer tokens, as described in
+# RFC6750[https://www.rfc-editor.org/rfc/rfc6750]. Use via
+# Net::IMAP#authenticate.
+#
+# RFC6750[https://www.rfc-editor.org/rfc/rfc6750] requires Transport Layer
+# Security (TLS) to secure the protocol interaction between the client and
+# the resource server. TLS _MUST_ be used for +OAUTHBEARER+ to protect
+# the bearer token.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:138
+class Net::IMAP::SASL::OAuthBearerAuthenticator < ::Net::IMAP::SASL::OAuthAuthenticator
+ # :call-seq:
+ # new(oauth2_token, **options) -> authenticator
+ # new(authzid, oauth2_token, **options) -> authenticator
+ # new(oauth2_token:, **options) -> authenticator
+ #
+ # Creates an Authenticator for the "+OAUTHBEARER+" SASL mechanism.
+ #
+ # Called by Net::IMAP#authenticate and similar methods on other clients.
+ #
+ # ==== Parameters
+ #
+ # * #oauth2_token — An OAuth2 bearer token
+ #
+ # All other keyword parameters are passed to
+ # {super}[rdoc-ref:OAuthAuthenticator::new] (see OAuthAuthenticator).
+ # The most common ones are:
+ #
+ # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
+ #
+ # _optional_ #username — An alias for #authzid.
+ #
+ # Note that, unlike some other authenticators, +username+ sets the
+ # _authorization_ identity and not the _authentication_ identity. The
+ # authentication identity is established for the client by
+ # #oauth2_token.
+ #
+ # * _optional_ #host — Hostname to which the client connected.
+ # * _optional_ #port — Service port to which the client connected.
+ #
+ # Although only oauth2_token is required by this mechanism, it is worth
+ # noting that application protocols are allowed to
+ # require #authzid (or other parameters, such as #host
+ # _or_ #port) as are specific server implementations.
+ #
+ # @return [OAuthBearerAuthenticator] a new instance of OAuthBearerAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:177
+ def initialize(arg1 = T.unsafe(nil), arg2 = T.unsafe(nil), oauth2_token: T.unsafe(nil), secret: T.unsafe(nil), **args, &blk); end
+
+ # Value of the HTTP Authorization header
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:193
+ def authorization; end
+
+ # :call-seq:
+ # initial_response? -> true
+ #
+ # +OAUTHBEARER+ sends an initial client response.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:190
+ def initial_response?; end
+
+ # An OAuth 2.0 bearer token. See {RFC-6750}[https://www.rfc-editor.org/rfc/rfc6750]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:141
+ def oauth2_token; end
+
+ # An OAuth 2.0 bearer token. See {RFC-6750}[https://www.rfc-editor.org/rfc/rfc6750]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/oauthbearer_authenticator.rb:142
+ def secret; end
+end
+
+# Authenticator for the "+PLAIN+" SASL mechanism, specified in
+# RFC-4616[https://www.rfc-editor.org/rfc/rfc4616]. See Net::IMAP#authenticate.
+#
+# +PLAIN+ authentication sends the password in cleartext.
+# RFC-3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
+# cleartext authentication until after TLS has been negotiated.
+# RFC-8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
+# greater be used for all traffic, and deprecate cleartext access ASAP. +PLAIN+
+# can be secured by TLS encryption.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:12
+class Net::IMAP::SASL::PlainAuthenticator
+ # :call-seq:
+ # new(username, password, authzid: nil, **) -> authenticator
+ # new(username:, password:, authzid: nil, **) -> authenticator
+ # new(authcid:, password:, authzid: nil, **) -> authenticator
+ #
+ # Creates an Authenticator for the "+PLAIN+" SASL mechanism.
+ #
+ # Called by Net::IMAP#authenticate and similar methods on other clients.
+ #
+ # ==== Parameters
+ #
+ # * #authcid ― Authentication identity that is associated with #password.
+ #
+ # #username ― An alias for #authcid.
+ #
+ # * #password ― A password or passphrase associated with the #authcid.
+ #
+ # * _optional_ #authzid ― Authorization identity to act as or on behalf of.
+ #
+ # When +authzid+ is not set, the server should derive the authorization
+ # identity from the authentication identity.
+ #
+ # Any other keyword parameters are quietly ignored.
+ #
+ # @raise [ArgumentError]
+ # @return [PlainAuthenticator] a new instance of PlainAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:67
+ def initialize(user = T.unsafe(nil), pass = T.unsafe(nil), authcid: T.unsafe(nil), secret: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), authzid: T.unsafe(nil), **_arg7); end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
+ # "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:25
+ def authcid; end
+
+ # Authorization identity: an identity to act as or on behalf of. The identity
+ # form is application protocol specific. If not provided or left blank, the
+ # server derives an authorization identity from the authentication identity.
+ # The server is responsible for verifying the client's credentials and
+ # verifying that the identity it associates with the client's authentication
+ # identity is allowed to act as (or on behalf of) the authorization identity.
+ #
+ # For example, an administrator or superuser might take on another role:
+ #
+ # imap.authenticate "PLAIN", "root", passwd, authzid: "user"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:42
+ def authzid; end
+
+ # Returns true when the initial client response was sent.
+ #
+ # The authentication should not succeed unless this returns true, but it
+ # does *not* indicate success.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:99
+ def done?; end
+
+ # :call-seq:
+ # initial_response? -> true
+ #
+ # +PLAIN+ can send an initial client response.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:86
+ def initial_response?; end
+
+ # A password or passphrase that matches the #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:28
+ def password; end
+
+ # Responds with the client's credentials.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:89
+ def process(data); end
+
+ # A password or passphrase that matches the #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:29
+ def secret; end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
+ # "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:24
+ def username; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/plain_authenticator.rb:14
+Net::IMAP::SASL::PlainAuthenticator::NULL = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:9
+Net::IMAP::SASL::ProhibitedCodepoint = Net::IMAP::StringPrep::ProhibitedCodepoint
+
+# SASL::ProtocolAdapters modules are meant to be used as mixins for
+# SASL::ClientAdapter and its subclasses. Where the client adapter must
+# be customized for each client library, the protocol adapter mixin
+# handles \SASL requirements that are part of the protocol specification,
+# but not specific to any particular client library. In particular, see
+# {RFC4422 §4}[https://www.rfc-editor.org/rfc/rfc4422.html#section-4]
+#
+# === Interface
+#
+# >>>
+# NOTE: This API is experimental, and may change.
+#
+# - {#command_name}[rdoc-ref:Generic#command_name] -- The name of the
+# command used to to initiate an authentication exchange.
+# - {#service}[rdoc-ref:Generic#service] -- The GSSAPI service name.
+# - {#encode_ir}[rdoc-ref:Generic#encode_ir]--Encodes an initial response.
+# - {#decode}[rdoc-ref:Generic#decode] -- Decodes a server challenge.
+# - {#encode}[rdoc-ref:Generic#encode] -- Encodes a client response.
+# - {#cancel_response}[rdoc-ref:Generic#cancel_response] -- The encoded
+# client response used to cancel an authentication exchange.
+#
+# Other protocol requirements of the \SASL authentication exchange are
+# handled by SASL::ClientAdapter.
+#
+# === Included protocol adapters
+#
+# - Generic -- a basic implementation of all of the methods listed above.
+# - IMAP -- An adapter for the IMAP4 protocol.
+# - SMTP -- An adapter for the \SMTP protocol with the +AUTH+ capability.
+# - POP -- An adapter for the POP3 protocol with the +SASL+ capability.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:37
+module Net::IMAP::SASL::ProtocolAdapters; end
+
+# See SASL::ProtocolAdapters@Interface.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:39
+module Net::IMAP::SASL::ProtocolAdapters::Generic
+ # Returns the message used by the client to abort an authentication
+ # exchange.
+ #
+ # The generic implementation returns "*".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:73
+ def cancel_response; end
+
+ # The name of the protocol command used to initiate a \SASL
+ # authentication exchange.
+ #
+ # The generic implementation returns "AUTHENTICATE".
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:44
+ def command_name; end
+
+ # Decodes a server challenge string.
+ #
+ # The generic implementation returns the Base64 decoding of +string+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:67
+ def decode(string); end
+
+ # Encodes a client response string.
+ #
+ # The generic implementation returns the Base64 encoding of +string+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:62
+ def encode(string); end
+
+ # Encodes an initial response string.
+ #
+ # The generic implementation returns the result of #encode, or returns
+ # "=" when +string+ is empty.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:57
+ def encode_ir(string); end
+
+ # A service name from the {GSSAPI/Kerberos/SASL Service Names
+ # registry}[https://www.iana.org/assignments/gssapi-service-names/gssapi-service-names.xhtml].
+ #
+ # The generic implementation returns "host", which is the
+ # generic GSSAPI host-based service name.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:51
+ def service; end
+end
+
+# See RFC-3501 (IMAP4rev1), RFC-4959 (SASL-IR capability),
+# and RFC-9051 (IMAP4rev2).
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:78
+module Net::IMAP::SASL::ProtocolAdapters::IMAP
+ include ::Net::IMAP::SASL::ProtocolAdapters::Generic
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:80
+ def service; end
+end
+
+# See RFC-5034 (SASL capability).
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:91
+module Net::IMAP::SASL::ProtocolAdapters::POP
+ include ::Net::IMAP::SASL::ProtocolAdapters::Generic
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:93
+ def command_name; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:94
+ def service; end
+end
+
+# See RFC-4954 (AUTH capability).
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:84
+module Net::IMAP::SASL::ProtocolAdapters::SMTP
+ include ::Net::IMAP::SASL::ProtocolAdapters::Generic
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:86
+ def command_name; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/protocol_adapters.rb:87
+ def service; end
+end
+
+# Alias for Net::IMAP::StringPrep::SASLprep.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:6
+Net::IMAP::SASL::SASLprep = Net::IMAP::StringPrep::SASLprep
+
+# For method descriptions,
+# see {RFC5802 §2.2}[https://www.rfc-editor.org/rfc/rfc5802#section-2.2]
+# and {RFC5802 §3}[https://www.rfc-editor.org/rfc/rfc5802#section-3].
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:10
+module Net::IMAP::SASL::ScramAlgorithm
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:24
+ def H(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:26
+ def HMAC(key, data); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:13
+ def Hi(str, salt, iterations); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:11
+ def Normalize(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:28
+ def XOR(str1, str2); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:35
+ def auth_message; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:48
+ def client_key; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:53
+ def client_proof; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:51
+ def client_signature; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:44
+ def salted_password; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:49
+ def server_key; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:52
+ def server_signature; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_algorithm.rb:50
+ def stored_key; end
+end
+
+# Abstract base class for the "+SCRAM-*+" family of SASL mechanisms,
+# defined in RFC5802[https://www.rfc-editor.org/rfc/rfc5802]. Use via
+# Net::IMAP#authenticate.
+#
+# Directly supported:
+# * +SCRAM-SHA-1+ --- ScramSHA1Authenticator
+# * +SCRAM-SHA-256+ --- ScramSHA256Authenticator
+#
+# New +SCRAM-*+ mechanisms can easily be added for any hash algorithm
+# supported by
+# OpenSSL::Digest[https://ruby.github.io/openssl/OpenSSL/Digest.html].
+# Subclasses need only set an appropriate +DIGEST_NAME+ constant.
+#
+# === SCRAM algorithm
+#
+# See the documentation and method definitions on ScramAlgorithm for an
+# overview of the algorithm. The different mechanisms differ only by
+# which hash function that is used (or by support for channel binding with
+# +-PLUS+).
+#
+# See also the methods on GS2Header.
+#
+# ==== Server messages
+#
+# As server messages are received, they are validated and loaded into
+# the various attributes, e.g: #snonce, #salt, #iterations, #verifier,
+# #server_error, etc.
+#
+# Unlike many other SASL mechanisms, the +SCRAM-*+ family supports mutual
+# authentication and can return server error data in the server messages.
+# If #process raises an Error for the server-final-message, then
+# server_error may contain error details.
+#
+# === TLS Channel binding
+#
+# The SCRAM-*-PLUS mechanisms and channel binding are not
+# supported yet.
+#
+# === Caching SCRAM secrets
+#
+# Caching of salted_password, client_key, stored_key, and server_key
+# is not supported yet.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:56
+class Net::IMAP::SASL::ScramAuthenticator
+ include ::Net::IMAP::SASL::GS2Header
+ include ::Net::IMAP::SASL::ScramAlgorithm
+
+ # :call-seq:
+ # new(username, password, **options) -> auth_ctx
+ # new(username:, password:, **options) -> auth_ctx
+ # new(authcid:, password:, **options) -> auth_ctx
+ #
+ # Creates an authenticator for one of the "+SCRAM-*+" SASL mechanisms.
+ # Each subclass defines #digest to match a specific mechanism.
+ #
+ # Called by Net::IMAP#authenticate and similar methods on other clients.
+ #
+ # === Parameters
+ #
+ # * #authcid ― Identity whose #password is used.
+ #
+ # #username - An alias for #authcid.
+ # * #password ― Password or passphrase associated with this #username.
+ # * _optional_ #authzid ― Alternate identity to act as or on behalf of.
+ # * _optional_ #min_iterations - Overrides the default value (4096).
+ #
+ # Any other keyword parameters are quietly ignored.
+ #
+ # @return [ScramAuthenticator] a new instance of ScramAuthenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:80
+ def initialize(username_arg = T.unsafe(nil), password_arg = T.unsafe(nil), authcid: T.unsafe(nil), username: T.unsafe(nil), authzid: T.unsafe(nil), password: T.unsafe(nil), secret: T.unsafe(nil), min_iterations: T.unsafe(nil), cnonce: T.unsafe(nil), **options); end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term
+ # +username+. "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:108
+ def authcid; end
+
+ # Authorization identity: an identity to act as or on behalf of. The
+ # identity form is application protocol specific. If not provided or
+ # left blank, the server derives an authorization identity from the
+ # authentication identity. For example, an administrator or superuser
+ # might take on another role:
+ #
+ # imap.authenticate "SCRAM-SHA-256", "root", passwd, authzid: "user"
+ #
+ # The server is responsible for verifying the client's credentials and
+ # verifying that the identity it associates with the client's
+ # authentication identity is allowed to act as (or on behalf of) the
+ # authorization identity.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:126
+ def authzid; end
+
+ # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
+ # +cbind-input+.
+ #
+ # >>>
+ # *TODO:* implement channel binding, appending +cbind-data+ here.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:251
+ def cbind_input; end
+
+ # The client nonce, generated by SecureRandom
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:133
+ def cnonce; end
+
+ # Returns a new OpenSSL::Digest object, set to the appropriate hash
+ # function for the chosen mechanism.
+ #
+ # The class's +DIGEST_NAME+ constant must be set to the name of an
+ # algorithm supported by OpenSSL::Digest.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:155
+ def digest; end
+
+ # Is the authentication exchange complete?
+ #
+ # If false, another server continuation is required.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:185
+ def done?; end
+
+ # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
+ # +client-first-message+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:159
+ def initial_client_response; end
+
+ # The iteration count for the selected hash function and user
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:142
+ def iterations; end
+
+ # The minimal allowed iteration count. Lower #iterations will raise an
+ # Error.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:130
+ def min_iterations; end
+
+ # A password or passphrase that matches the #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:111
+ def password; end
+
+ # responds to the server's challenges
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:164
+ def process(challenge); end
+
+ # The salt used by the server for this user
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:139
+ def salt; end
+
+ # A password or passphrase that matches the #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:112
+ def secret; end
+
+ # An error reported by the server during the \SASL exchange.
+ #
+ # Does not include errors reported by the protocol, e.g.
+ # Net::IMAP::NoResponseError.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:148
+ def server_error; end
+
+ # The server nonce, which must start with #cnonce
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:136
+ def snonce; end
+
+ # Authentication identity: the identity that matches the #password.
+ #
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term
+ # +username+. "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:107
+ def username; end
+
+ private
+
+ # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
+ # +client-final-message-without-proof+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:240
+ def client_final_message_without_proof; end
+
+ # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
+ # +client-first-message-bare+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:225
+ def client_first_message_bare; end
+
+ # See {RFC5802 §7}[https://www.rfc-editor.org/rfc/rfc5802#section-7]
+ # +client-final-message+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:233
+ def final_message_with_proof; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:192
+ def format_message(hash); end
+
+ # RFC5802 specifies "that the order of attributes in client or server
+ # messages is fixed, with the exception of extension attributes", but
+ # this parses it simply as a hash, without respect to order. Note that
+ # repeated keys (violating the spec) will use the last value.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:257
+ def parse_challenge(challenge); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:211
+ def recv_server_final_message(server_final_message); end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:194
+ def recv_server_first_message(server_first_message); end
+
+ # Need to store this for auth_message
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:190
+ def server_first_message; end
+end
+
+# Authenticator for the "+SCRAM-SHA-1+" SASL mechanism, defined in
+# RFC5802[https://www.rfc-editor.org/rfc/rfc5802].
+#
+# Uses the "SHA-1" digest algorithm from OpenSSL::Digest.
+#
+# See ScramAuthenticator.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:271
+class Net::IMAP::SASL::ScramSHA1Authenticator < ::Net::IMAP::SASL::ScramAuthenticator; end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:272
+Net::IMAP::SASL::ScramSHA1Authenticator::DIGEST_NAME = T.let(T.unsafe(nil), String)
+
+# Authenticator for the "+SCRAM-SHA-256+" SASL mechanism, defined in
+# RFC7677[https://www.rfc-editor.org/rfc/rfc7677].
+#
+# Uses the "SHA-256" digest algorithm from OpenSSL::Digest.
+#
+# See ScramAuthenticator.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:281
+class Net::IMAP::SASL::ScramSHA256Authenticator < ::Net::IMAP::SASL::ScramAuthenticator; end
+
+# pkg:gem/net-imap#lib/net/imap/sasl/scram_authenticator.rb:282
+Net::IMAP::SASL::ScramSHA256Authenticator::DIGEST_NAME = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:7
+Net::IMAP::SASL::StringPrep = Net::IMAP::StringPrep
+
+# pkg:gem/net-imap#lib/net/imap/sasl/stringprep.rb:10
+Net::IMAP::SASL::StringPrepError = Net::IMAP::StringPrep::StringPrepError
+
+# Authenticator for the "+XOAUTH2+" SASL mechanism. This mechanism was
+# originally created for GMail and widely adopted by hosted email providers.
+# +XOAUTH2+ has been documented by
+# Google[https://developers.google.com/gmail/imap/xoauth2-protocol] and
+# Microsoft[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth].
+#
+# This mechanism requires an OAuth2 access token which has been authorized
+# with the appropriate OAuth2 scopes to access the user's services. Most of
+# these scopes are not standardized---consult each service provider's
+# documentation for their scopes.
+#
+# Although this mechanism was never standardized and has been obsoleted by
+# "+OAUTHBEARER+", it is still very widely supported.
+#
+# See Net::IMAP::SASL::OAuthBearerAuthenticator.
+#
+# pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:18
+class Net::IMAP::SASL::XOAuth2Authenticator
+ # :call-seq:
+ # new(username, oauth2_token, **) -> authenticator
+ # new(username:, oauth2_token:, **) -> authenticator
+ # new(authzid:, oauth2_token:, **) -> authenticator
+ #
+ # Creates an Authenticator for the "+XOAUTH2+" SASL mechanism, as specified by
+ # Google[https://developers.google.com/gmail/imap/xoauth2-protocol],
+ # Microsoft[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth]
+ # and Yahoo[https://senders.yahooinc.com/developer/documentation].
+ #
+ # === Properties
+ #
+ # * #username --- the username for the account being accessed.
+ #
+ # #authzid --- an alias for #username.
+ #
+ # Note that, unlike some other authenticators, +username+ sets the
+ # _authorization_ identity and not the _authentication_ identity. The
+ # authenticated identity is established for the client with the OAuth token.
+ #
+ # * #oauth2_token --- An OAuth2.0 access token which is authorized to access
+ # the service for #username.
+ #
+ # Any other keyword parameters are quietly ignored.
+ #
+ # @return [XOAuth2Authenticator] a new instance of XOAuth2Authenticator
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:71
+ def initialize(user = T.unsafe(nil), token = T.unsafe(nil), username: T.unsafe(nil), oauth2_token: T.unsafe(nil), authzid: T.unsafe(nil), secret: T.unsafe(nil), **_arg6); end
+
+ # It is unclear from {Google's original XOAUTH2
+ # documentation}[https://developers.google.com/gmail/imap/xoauth2-protocol],
+ # whether "User" refers to the authentication identity (+authcid+) or the
+ # authorization identity (+authzid+). The authentication identity is
+ # established for the client by the OAuth token, so it seems that +username+
+ # must be the authorization identity.
+ #
+ # {Microsoft's documentation for shared
+ # mailboxes}[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#sasl-xoauth2-authentication-for-shared-mailboxes-in-office-365]
+ # _clearly_ indicates that the Office 365 server interprets it as the
+ # authorization identity.
+ #
+ # Although they _should_ validate that the token has been authorized to access
+ # the service for +username+, _some_ servers appear to ignore this field,
+ # relying only the identity and scope authorized by the token.
+ # Note that, unlike most other authenticators, #username is an alias for the
+ # authorization identity and not the authentication identity. The
+ # authenticated identity is established for the client by the #oauth2_token.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:40
+ def authzid; end
+
+ # Returns true when the initial client response was sent.
+ #
+ # The authentication should not succeed unless this returns true, but it
+ # does *not* indicate success.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:98
+ def done?; end
+
+ # :call-seq:
+ # initial_response? -> true
+ #
+ # +XOAUTH2+ can send an initial client response.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:84
+ def initial_response?; end
+
+ # An OAuth2 access token which has been authorized with the appropriate OAuth2
+ # scopes to use the service for #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:44
+ def oauth2_token; end
+
+ # Returns the XOAUTH2 formatted response, which combines the +username+
+ # with the +oauth2_token+.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:88
+ def process(_data); end
+
+ # An OAuth2 access token which has been authorized with the appropriate OAuth2
+ # scopes to use the service for #username.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:45
+ def secret; end
+
+ # It is unclear from {Google's original XOAUTH2
+ # documentation}[https://developers.google.com/gmail/imap/xoauth2-protocol],
+ # whether "User" refers to the authentication identity (+authcid+) or the
+ # authorization identity (+authzid+). The authentication identity is
+ # established for the client by the OAuth token, so it seems that +username+
+ # must be the authorization identity.
+ #
+ # {Microsoft's documentation for shared
+ # mailboxes}[https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#sasl-xoauth2-authentication-for-shared-mailboxes-in-office-365]
+ # _clearly_ indicates that the Office 365 server interprets it as the
+ # authorization identity.
+ #
+ # Although they _should_ validate that the token has been authorized to access
+ # the service for +username+, _some_ servers appear to ignore this field,
+ # relying only the identity and scope authorized by the token.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:35
+ def username; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/sasl/xoauth2_authenticator.rb:102
+ def build_oauth2_string(username, oauth2_token); end
+end
+
+# Experimental
+#
+# pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:7
+class Net::IMAP::SASLAdapter < ::Net::IMAP::SASL::ClientAdapter
+ include ::Net::IMAP::SASL::ProtocolAdapters::IMAP
+
+ # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:15
+ def drop_connection; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:16
+ def drop_connection!; end
+
+ # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:13
+ def response_errors; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:14
+ def sasl_ir_capable?; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sasl_adapter.rb:10
+Net::IMAP::SASLAdapter::RESPONSE_ERRORS = T.let(T.unsafe(nil), Array)
+
+# Mailbox attribute indicating that this mailbox is used to hold copies of
+# messages that have been sent. Some server implementations might put
+# messages here automatically. Alternatively, this might just be advice that
+# a client save sent messages here.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:248
+Net::IMAP::SENT = T.let(T.unsafe(nil), Symbol)
+
+# strftime/strptime format for an IMAP4 +date+, excluding optional dquotes.
+# Use via the encode_date and decode_date methods.
+#
+# date = date-text / DQUOTE date-text DQUOTE
+# date-text = date-day "-" date-month "-" date-year
+#
+# date-day = 1*2DIGIT
+# ; Day of month
+# date-month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" /
+# "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
+# date-year = 4DIGIT
+#
+# pkg:gem/net-imap#lib/net/imap/data_encoding.rb:22
+Net::IMAP::STRFDATE = T.let(T.unsafe(nil), String)
+
+# strftime/strptime format for an IMAP4 +date-time+, including dquotes.
+# See the encode_datetime and decode_datetime methods.
+#
+# date-time = DQUOTE date-day-fixed "-" date-month "-" date-year
+# SP time SP zone DQUOTE
+#
+# date-day-fixed = (SP DIGIT) / 2DIGIT
+# ; Fixed-format version of date-day
+# date-month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" /
+# "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
+# date-year = 4DIGIT
+# time = 2DIGIT ":" 2DIGIT ":" 2DIGIT
+# ; Hours minutes seconds
+# zone = ("+" / "-") 4DIGIT
+# ; Signed four-digit value of hhmm representing
+# ; hours and minutes east of Greenwich (that is,
+# ; the amount that the given time differs from
+# ; Universal Time). Subtracting the timezone
+# ; from the given time will give the UT form.
+# ; The Universal Time zone is "+0000".
+#
+# Note that Time.strptime "%d" flexibly parses either space or zero
+# padding. However, the DQUOTEs are *not* optional.
+#
+# pkg:gem/net-imap#lib/net/imap/data_encoding.rb:47
+Net::IMAP::STRFTIME = T.let(T.unsafe(nil), String)
+
+# The mailbox name was subscribed to using the #subscribe command.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:173
+Net::IMAP::SUBSCRIBED = T.let(T.unsafe(nil), Symbol)
+
+# An array of sequence numbers returned by Net::IMAP#search, or unique
+# identifiers returned by Net::IMAP#uid_search.
+#
+# For backward compatibility, SearchResult inherits from Array.
+#
+# ==== Compatibility with ESearchResult
+#
+# Note that both SearchResult and ESearchResult implement +each+, +to_a+,
+# and +to_sequence_set+. These methods can be used regardless of whether
+# the server returns +SEARCH+ or +ESEARCH+ data (or no data).
+#
+# pkg:gem/net-imap#lib/net/imap/search_result.rb:16
+class Net::IMAP::SearchResult < ::Array
+ # Returns a SearchResult populated with the given +seq_nums+.
+ #
+ # Net::IMAP::SearchResult.new([1, 3, 5], modseq: 9)
+ # # => Net::IMAP::SearchResult[1, 3, 5, modseq: 9]
+ #
+ # @return [SearchResult] a new instance of SearchResult
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:35
+ def initialize(seq_nums, modseq: T.unsafe(nil)); end
+
+ # Returns whether +other+ is a SearchResult with the same values and the
+ # same #modseq. The order of numbers is irrelevant.
+ #
+ # Net::IMAP::SearchResult[123, 456, modseq: 789] ==
+ # Net::IMAP::SearchResult[123, 456, modseq: 789]
+ # # => true
+ # Net::IMAP::SearchResult[123, 456, modseq: 789] ==
+ # Net::IMAP::SearchResult[456, 123, modseq: 789]
+ # # => true
+ #
+ # Net::IMAP::SearchResult[123, 456, modseq: 789] ==
+ # Net::IMAP::SearchResult[987, 654, modseq: 789]
+ # # => false
+ # Net::IMAP::SearchResult[123, 456, modseq: 789] ==
+ # Net::IMAP::SearchResult[1, 2, 3, modseq: 9999]
+ # # => false
+ #
+ # SearchResult can be compared directly with Array, if #modseq is nil and
+ # the array is sorted.
+ #
+ # Net::IMAP::SearchResult[9, 8, 6, 4, 1] == [1, 4, 6, 8, 9] # => true
+ # Net::IMAP::SearchResult[3, 5, 7, modseq: 99] == [3, 5, 7] # => false
+ #
+ # Note that Array#== does require matching order and ignores #modseq.
+ #
+ # [9, 8, 6, 4, 1] == Net::IMAP::SearchResult[1, 4, 6, 8, 9] # => false
+ # [3, 5, 7] == Net::IMAP::SearchResult[3, 5, 7, modseq: 99] # => true
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:68
+ def ==(other); end
+
+ # Hash equality. Unlike #==, order will be taken into account.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:82
+ def eql?(other); end
+
+ # Hash equality. Unlike #==, order will be taken into account.
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:76
+ def hash; end
+
+ # Returns a string that represents the SearchResult.
+ #
+ # Net::IMAP::SearchResult[123, 456, 789].inspect
+ # # => "[123, 456, 789]"
+ #
+ # Net::IMAP::SearchResult[543, 210, 678, modseq: 2048].inspect
+ # # => "Net::IMAP::SearchResult[543, 210, 678, modseq: 2048]"
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:95
+ def inspect; end
+
+ # A modification sequence number, as described by the +CONDSTORE+
+ # extension in {[RFC7162
+ # §3.1.6]}[https://www.rfc-editor.org/rfc/rfc7162.html#section-3.1.6].
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:29
+ def modseq; end
+
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:128
+ def pretty_print(pp); end
+
+ # Returns a string that follows the formal \IMAP syntax.
+ #
+ # data = Net::IMAP::SearchResult[2, 8, 32, 128, 256, 512]
+ # data.to_s # => "* SEARCH 2 8 32 128 256 512"
+ # data.to_s("SEARCH") # => "* SEARCH 2 8 32 128 256 512"
+ # data.to_s("SORT") # => "* SORT 2 8 32 128 256 512"
+ # data.to_s(nil) # => "2 8 32 128 256 512"
+ #
+ # data = Net::IMAP::SearchResult[1, 3, 16, 1024, modseq: 2048]
+ # data.to_s # => "* SEARCH 1 3 16 1024 (MODSEQ 2048)"
+ # data.to_s("SORT") # => "* SORT 1 3 16 1024 (MODSEQ 2048)"
+ # data.to_s(nil) # => "1 3 16 1024 (MODSEQ 2048)"
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:113
+ def to_s(type = T.unsafe(nil)); end
+
+ # Converts the SearchResult into a SequenceSet.
+ #
+ # Net::IMAP::SearchResult[9, 1, 2, 4, 10, 12, 3, modseq: 123_456]
+ # .to_sequence_set
+ # # => Net::IMAP::SequenceSet["1:4,9:10,12"]
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:126
+ def to_sequence_set; end
+
+ class << self
+ # Returns a SearchResult populated with the given +seq_nums+.
+ #
+ # Net::IMAP::SearchResult[1, 3, 5, modseq: 9]
+ # # => Net::IMAP::SearchResult[1, 3, 5, modseq: 9]
+ #
+ # pkg:gem/net-imap#lib/net/imap/search_result.rb:22
+ def [](*seq_nums, modseq: T.unsafe(nil)); end
+ end
+end
+
+# An \IMAP sequence set is a set of message sequence numbers or unique
+# identifier numbers ("UIDs"). It contains numbers and ranges of numbers.
+# The numbers are all non-zero unsigned 32-bit integers and one special
+# value ("*") that represents the largest value in the mailbox.
+#
+# Certain types of \IMAP responses will contain a SequenceSet, for example
+# the data for a "MODIFIED" ResponseCode. Some \IMAP commands may
+# receive a SequenceSet as an argument, for example IMAP#search, IMAP#fetch,
+# and IMAP#store.
+#
+# == Creating sequence sets
+#
+# SequenceSet.new may receive a single optional argument: a non-zero 32 bit
+# unsigned integer, a range, a sequence-set formatted string,
+# another SequenceSet, a Set (containing only numbers or *), or an
+# Array containing any of these (array inputs may be nested).
+#
+# set = Net::IMAP::SequenceSet.new(1)
+# set.valid_string #=> "1"
+# set = Net::IMAP::SequenceSet.new(1..100)
+# set.valid_string #=> "1:100"
+# set = Net::IMAP::SequenceSet.new(1...100)
+# set.valid_string #=> "1:99"
+# set = Net::IMAP::SequenceSet.new([1, 2, 5..])
+# set.valid_string #=> "1:2,5:*"
+# set = Net::IMAP::SequenceSet.new("1,2,3:7,5,6:10,2048,1024")
+# set.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+# set = Net::IMAP::SequenceSet.new(1, 2, 3..7, 5, 6..10, 2048, 1024)
+# set.valid_string #=> "1:10,55,1024:2048"
+#
+# SequenceSet.new with no arguments creates an empty sequence set. Note
+# that an empty sequence set is invalid in the \IMAP grammar.
+#
+# set = Net::IMAP::SequenceSet.new
+# set.empty? #=> true
+# set.valid? #=> false
+# set.valid_string #!> raises DataFormatError
+# set << 1..10
+# set.empty? #=> false
+# set.valid? #=> true
+# set.valid_string #=> "1:10"
+#
+# Using SequenceSet.new with another SequenceSet input behaves the same as
+# calling #dup on the other set. The input's #string will be preserved.
+#
+# input = Net::IMAP::SequenceSet.new("1,2,3:7,5,6:10,2048,1024")
+# copy = Net::IMAP::SequenceSet.new(input)
+# input.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+# copy.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+# copy2 = input.dup # same as calling new with a SequenceSet input
+# copy == input #=> true, same set membership
+# copy.eql? input #=> true, same string value
+# copy.equal? input #=> false, different objects
+#
+# copy.normalize!
+# copy.valid_string #=> "1:10,1024,2048"
+# copy == input #=> true, same set membership
+# copy.eql? input #=> false, different string value
+#
+# copy << 999
+# copy.valid_string #=> "1:10,999,1024,2048"
+# copy == input #=> false, different set membership
+# copy.eql? input #=> false, different string value
+#
+# Use Net::IMAP::SequenceSet() to coerce a single (optional) input.
+# A SequenceSet input is returned without duplication, even when frozen.
+#
+# set = Net::IMAP::SequenceSet()
+# set.string #=> nil
+# set.frozen? #=> false
+#
+# # String order is preserved
+# set = Net::IMAP::SequenceSet("1,2,3:7,5,6:10,2048,1024")
+# set.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+# set.frozen? #=> false
+#
+# # Other inputs are normalized
+# set = Net::IMAP::SequenceSet([1, 2, [3..7, 5], 6..10, 2048, 1024])
+# set.valid_string #=> "1:10,1024,2048"
+# set.frozen? #=> false
+#
+# unfrozen = set
+# frozen = set.dup.freeze
+# unfrozen.equal? Net::IMAP::SequenceSet(unfrozen) #=> true
+# frozen.equal? Net::IMAP::SequenceSet(frozen) #=> true
+#
+# Use ::[] to coerce one or more arguments into a valid frozen SequenceSet.
+# A valid frozen SequenceSet is returned directly, without allocating a new
+# object. ::[] will not create an invalid (empty) set.
+#
+# Net::IMAP::SequenceSet[] #!> raises ArgumentError
+# Net::IMAP::SequenceSet[nil] #!> raises DataFormatError
+# Net::IMAP::SequenceSet[""] #!> raises DataFormatError
+#
+# # String order is preserved
+# set = Net::IMAP::SequenceSet["1,2,3:7,5,6:10,2048,1024"]
+# set.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+# set.frozen? #=> true
+#
+# # Other inputs are normalized
+# set = Net::IMAP::SequenceSet[1, 2, [3..7, 5], 6..10, 2048, 1024]
+# set.valid_string #=> "1:10,1024,2048"
+# set.frozen? #=> true
+#
+# frozen = set
+# unfrozen = set.dup
+# frozen.equal? Net::IMAP::SequenceSet[frozen] #=> true
+# unfrozen.equal? Net::IMAP::SequenceSet[unfrozen] #=> false
+#
+# Objects which respond to +to_sequence_set+ (such as SearchResult and
+# ThreadMember) can be coerced to a SequenceSet with ::new, ::try_convert,
+# ::[], or Net::IMAP::SequenceSet.
+#
+# search = imap.uid_search(["SUBJECT", "hello", "NOT", "SEEN"])
+# seqset = Net::IMAP::SequenceSet(search) - already_fetched
+# fetch = imap.uid_fetch(seqset, "FAST")
+#
+# == Ordered and Normalized sets
+#
+# Sometimes the order of the set's members is significant, such as with the
+# +ESORT+, CONTEXT=SORT, and +UIDPLUS+ extensions. So, when a
+# sequence set is created from a single string (such as by the parser), that
+# #string representation is preserved. Assigning a string with #string= or
+# #replace will also preserve that string. Use #each_entry, #entries, or
+# #each_ordered_number to enumerate the entries in their #string order.
+# Hash equality (using #eql?) is based on the string representation.
+#
+# Internally, SequenceSet uses a normalized uint32 set representation which
+# sorts and de-duplicates all numbers and coalesces adjacent or overlapping
+# entries. Many methods use this sorted set representation for O(lg
+# n) searches. Use #each_element, #elements, #each_range, #ranges,
+# #each_number, or #numbers to enumerate the set in sorted order. Basic
+# object equality (using #==) is based on set membership, without regard to
+# #entry order or #string normalization.
+#
+# Most modification methods reset #string to its #normalized form, so that
+# #entries and #elements are identical. Use #append to preserve #entries
+# order while modifying a set.
+#
+# Non-normalized sets store both representations of the set, which can more
+# than double memory usage. Very large sequence sets should avoid
+# denormalizing methods (such as #append) unless order is significant.
+#
+# == Using *
+#
+# \IMAP sequence sets may contain a special value "*", which
+# represents the largest number in use. From +seq-number+ in
+# {RFC9051 §9}[https://www.rfc-editor.org/rfc/rfc9051.html#section-9-5]:
+# >>>
+# In the case of message sequence numbers, it is the number of messages
+# in a non-empty mailbox. In the case of unique identifiers, it is the
+# unique identifier of the last message in the mailbox or, if the
+# mailbox is empty, the mailbox's current UIDNEXT value.
+#
+# When creating a SequenceSet, * may be input as -1,
+# "*", :*, an endless range, or a range ending in
+# -1. When converting to #elements, #ranges, or #numbers, it will
+# output as either :* or an endless range. For example:
+#
+# Net::IMAP::SequenceSet["1,3,*"].to_a #=> [1, 3, :*]
+# Net::IMAP::SequenceSet["1,234:*"].to_a #=> [1, 234..]
+# Net::IMAP::SequenceSet[1234..-1].to_a #=> [1234..]
+# Net::IMAP::SequenceSet[1234..].to_a #=> [1234..]
+#
+# Net::IMAP::SequenceSet[1234..].to_s #=> "1234:*"
+# Net::IMAP::SequenceSet[1234..-1].to_s #=> "1234:*"
+#
+# Use #limit to convert "*" to a maximum value. When a range
+# includes "*", the maximum value will always be matched:
+#
+# Net::IMAP::SequenceSet["9999:*"].limit(max: 25)
+# #=> Net::IMAP::SequenceSet["25"]
+#
+# === Surprising * behavior
+#
+# When a set includes *, some methods may have surprising behavior.
+#
+# For example, #complement treats * as its own member. This way,
+# the #intersection of a set and its #complement will always be empty. And
+# * is sorted as greater than any other number in the set. This is
+# not how an \IMAP server interprets the set: it will convert * to
+# the number of messages in the mailbox, the +UID+ of the last message in
+# the mailbox, or +UIDNEXT+, as appropriate. Several methods have an
+# argument for how * should be interpreted.
+#
+# But, for example, this means that there may be overlap between a set and
+# its complement after #limit is applied to each:
+#
+# ~Net::IMAP::SequenceSet["*"] == Net::IMAP::SequenceSet[1..(2**32-1)]
+# ~Net::IMAP::SequenceSet[1..5] == Net::IMAP::SequenceSet["6:*"]
+#
+# set = Net::IMAP::SequenceSet[1..5]
+# (set & ~set).empty? => true
+#
+# (set.limit(max: 4) & (~set).limit(max: 4)).to_a => [4]
+#
+# When counting the number of numbers in a set, * will be counted
+# as if it were equal to UINT32_MAX:
+# UINT32_MAX = 2**32 - 1
+# Net::IMAP::SequenceSet["*"].count => 1
+# Net::IMAP::SequenceSet[1..UINT32_MAX - 1, :*].count => UINT32_MAX
+#
+# Net::IMAP::SequenceSet["1:*"].count => UINT32_MAX
+# Net::IMAP::SequenceSet[UINT32_MAX, :*].count => 1
+# Net::IMAP::SequenceSet[UINT32_MAX..].count => 1
+#
+# Use #cardinality to count the set members wxth * counted as a
+# distinct member:
+# Net::IMAP::SequenceSet[1..].cardinality #=> UINT32_MAX + 1
+# Net::IMAP::SequenceSet[UINT32_MAX, :*].cardinality #=> 2
+# Net::IMAP::SequenceSet[UINT32_MAX..].cardinality #=> 2
+#
+# == What's here?
+#
+# SequenceSet provides methods for:
+# * {Creating a SequenceSet}[rdoc-ref:SequenceSet@Methods+for+Creating+a+SequenceSet]
+# * {Comparing}[rdoc-ref:SequenceSet@Methods+for+Comparing]
+# * {Querying}[rdoc-ref:SequenceSet@Methods+for+Querying]
+# * {Iterating}[rdoc-ref:SequenceSet@Methods+for+Iterating]
+# * {Set Operations}[rdoc-ref:SequenceSet@Methods+for+Set+Operations]
+# * {Assigning}[rdoc-ref:SequenceSet@Methods+for+Assigning]
+# * {Deleting}[rdoc-ref:SequenceSet@Methods+for+Deleting]
+# * {IMAP String Formatting}[rdoc-ref:SequenceSet@Methods+for+IMAP+String+Formatting]
+#
+# === Methods for Creating a \SequenceSet
+# * ::[]: Creates a validated frozen sequence set from one or more inputs.
+# * ::new: Creates a new mutable sequence set, which may be empty (invalid).
+# * ::try_convert: Calls +to_sequence_set+ on an object and verifies that
+# the result is a SequenceSet.
+# * Net::IMAP::SequenceSet(): Coerce an input using ::try_convert or ::new.
+# * ::empty: Returns a frozen empty (invalid) SequenceSet.
+# * ::full: Returns a frozen SequenceSet containing every possible number.
+#
+# === Methods for Comparing
+#
+# Comparison to another \SequenceSet:
+# - #==: Returns whether a given set contains the same numbers as +self+.
+# - #eql?: Returns whether a given set uses the same #string as +self+.
+#
+# Comparison to objects which are convertible to \SequenceSet:
+# - #===:
+# Returns whether a given object is fully contained within +self+, or
+# +nil+ if the object cannot be converted to a compatible type.
+# - #cover?:
+# Returns whether a given object is fully contained within +self+.
+# - #intersect? (aliased as #overlap?):
+# Returns whether +self+ and a given object have any common elements.
+# - #disjoint?:
+# Returns whether +self+ and a given object have no common elements.
+#
+# === Methods for Querying
+# These methods do not modify +self+.
+#
+# Set membership:
+# - #include? (aliased as #member?):
+# Returns whether a given element is contained by the set.
+# - #include_star?: Returns whether the set contains *.
+#
+# Minimum and maximum value elements:
+# - #min: Returns one or more of the lowest numbers in the set.
+# - #max: Returns one or more of the highest numbers in the set.
+# - #minmax: Returns the lowest and highest numbers in the set.
+#
+# Accessing value by offset in sorted set:
+# - #[] (aliased as #slice): Returns the number or consecutive subset at a
+# given offset or range of offsets in the sorted set.
+# - #at: Returns the number at a given offset in the sorted set.
+# - #find_index: Returns the given number's offset in the sorted set.
+#
+# Accessing value by offset in ordered entries
+# - #ordered_at: Returns the number at a given offset in the ordered entries.
+# - #find_ordered_index: Returns the index of the given number's first
+# occurrence in entries.
+#
+# Set cardinality:
+# - #cardinality: Returns the number of distinct members in the set.
+# * is counted as its own member, distinct from UINT32_MAX.
+# - #count: Returns the count of distinct numbers in the set.
+# * is counted as equal to UINT32_MAX.
+# - #empty?: Returns whether the set has no members. \IMAP syntax does not
+# allow empty sequence sets.
+# - #valid?: Returns whether the set has any members.
+# - #full?: Returns whether the set contains every possible value, including
+# *.
+#
+# Denormalized properties:
+# - #normalized?: Returns whether #entries are sorted, deduplicated, and
+# coalesced, and all #string entries are in normalized form.
+# - #has_duplicates?: Returns whether the ordered entries repeat any
+# numbers.
+# - #size: Returns the total size of all #entries, including repeated
+# numbers. * is counted as its own member, distinct from
+# UINT32_MAX.
+# - #count_with_duplicates: Returns the count of numbers in the ordered
+# #entries, including repeated numbers. * is counted as
+# equal to UINT32_MAX.
+# - #count_duplicates: Returns the count of repeated numbers in the ordered
+# #entries. * is counted as equal to UINT32_MAX.
+#
+# === Methods for Iterating
+#
+# Normalized (sorted and coalesced):
+# - #each_element: Yields each number and range in the set, sorted and
+# coalesced, and returns +self+.
+# - #elements (aliased as #to_a): Returns an Array of every number and range
+# in the set, sorted and coalesced.
+# - #each_range:
+# Yields each element in the set as a Range and returns +self+.
+# - #ranges: Returns an Array of every element in the set, converting
+# numbers into ranges of a single value.
+# - #each_number: Yields each number in the set and returns +self+.
+# - #numbers: Returns an Array with every number in the set, expanding
+# ranges into all of their contained numbers.
+# - #to_set: Returns a Set containing all of the #numbers in the set.
+#
+# Order preserving:
+# - #each_entry: Yields each number and range in the set, unsorted and
+# without deduplicating numbers or coalescing ranges, and returns +self+.
+# - #entries: Returns an Array of every number and range in the set,
+# unsorted and without deduplicating numbers or coalescing ranges.
+# - #each_ordered_number: Yields each number in the ordered entries and
+# returns +self+.
+#
+# === Methods for \Set Operations
+# These methods do not modify +self+.
+#
+# - #| (aliased as #union and #+): Returns a new set combining all members
+# from +self+ with all members from the other set.
+# - #& (aliased as #intersection): Returns a new set containing all members
+# common to +self+ and the other set.
+# - #- (aliased as #difference): Returns a copy of +self+ with all members
+# in the other set removed.
+# - #^ (aliased as #xor): Returns a new set containing all members from
+# +self+ and the other set except those common to both.
+# - #~ (aliased as #complement): Returns a new set containing all members
+# that are not in +self+
+# - #above: Return a copy of +self+ which only contains numbers above a
+# given number.
+# - #below: Return a copy of +self+ which only contains numbers below a
+# given value.
+# - #limit: Returns a copy of +self+ which has replaced * with a
+# given maximum value and removed all members over that maximum.
+#
+# === Methods for Assigning
+# These methods add or replace numbers in +self+.
+#
+# Normalized (sorted and coalesced):
+#
+# These methods always update #string to be fully sorted and coalesced.
+#
+# - #add (aliased as #<<): Adds a given element to the set; returns +self+.
+# - #add?: If the given element is not fully included the set, adds it and
+# returns +self+; otherwise, returns +nil+.
+# - #merge: In-place set #union. Adds all members of the given sets into
+# this set; returns +self+.
+# - #complement!: In-place set #complement. Replaces the contents of this
+# set with its own #complement; returns +self+.
+# - #xor!: In-place +XOR+ operation. Adds numbers that are unique to the
+# other set and removes numbers that are common to both; returns +self+.
+#
+# Order preserving:
+#
+# These methods _may_ cause #string to not be sorted or coalesced.
+#
+# - #append: Adds the given entry to the set, appending it to the existing
+# string, and returns +self+.
+# - #string=: Assigns a new #string value and replaces #elements to match.
+# - #replace: Replaces the contents of the set with the contents
+# of a given object.
+#
+# === Methods for Deleting
+# These methods remove numbers from +self+, and update #string to be fully
+# sorted and coalesced.
+#
+# - #clear: Removes all elements in the set; returns +self+.
+# - #delete: Removes a given element from the set; returns +self+.
+# - #delete?: If the given element is included in the set, removes it and
+# returns it; otherwise, returns +nil+.
+# - #delete_at: Removes the number at a given offset.
+# - #intersect!: In-place set #intersection. Removes numbers that are not
+# in the given set; returns +self+.
+# - #slice!: Removes the number or consecutive numbers at a given offset or
+# range of offsets.
+# - #subtract: In-place set #difference. Removes all members of the given
+# sets from this set; returns +self+.
+# - #limit!: Replaces * with a given maximum value and removes all
+# members over that maximum; returns +self+.
+#
+# === Methods for \IMAP String Formatting
+#
+# - #to_s: Returns the +sequence-set+ string, or an empty string when the
+# set is empty.
+# - #string: Returns the +sequence-set+ string, or nil when empty.
+# - #valid_string: Returns the +sequence-set+ string, or raises
+# DataFormatError when the set is empty.
+# - #normalized_string: Returns a sequence-set string with its
+# elements sorted and coalesced, or nil when the set is empty.
+# - #normalize: Returns a new set with this set's normalized +sequence-set+
+# representation.
+# - #normalize!: Updates #string to its normalized +sequence-set+
+# representation and returns +self+.
+#
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:411
+class Net::IMAP::SequenceSet
+ # Create a new SequenceSet object from +input+, which may be another
+ # SequenceSet, an IMAP formatted +sequence-set+ string, a non-zero 32 bit
+ # unsigned integer, a range, :*, a Set of numbers or *,
+ # an object that responds to +to_sequence_set+ (such as SearchResult) or
+ # an Array of these (array inputs may be nested).
+ #
+ # set = Net::IMAP::SequenceSet.new(1)
+ # set.valid_string #=> "1"
+ # set = Net::IMAP::SequenceSet.new(1..100)
+ # set.valid_string #=> "1:100"
+ # set = Net::IMAP::SequenceSet.new(1...100)
+ # set.valid_string #=> "1:99"
+ # set = Net::IMAP::SequenceSet.new([1, 2, 5..])
+ # set.valid_string #=> "1:2,5:*"
+ # set = Net::IMAP::SequenceSet.new("1,2,3:7,5,6:10,2048,1024")
+ # set.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+ # set = Net::IMAP::SequenceSet.new(1, 2, 3..7, 5, 6..10, 2048, 1024)
+ # set.valid_string #=> "1:10,1024,2048"
+ #
+ # With no arguments (or +nil+) creates an empty sequence set. Note that
+ # an empty sequence set is invalid in the \IMAP grammar.
+ #
+ # set = Net::IMAP::SequenceSet.new
+ # set.empty? #=> true
+ # set.valid? #=> false
+ # set.valid_string #!> raises DataFormatError
+ # set << 1..10
+ # set.empty? #=> false
+ # set.valid? #=> true
+ # set.valid_string #=> "1:10"
+ #
+ # When +input+ is a SequenceSet, ::new behaves the same as calling #dup on
+ # that other set. The input's #string will be preserved.
+ #
+ # input = Net::IMAP::SequenceSet.new("1,2,3:7,5,6:10,2048,1024")
+ # copy = Net::IMAP::SequenceSet.new(input)
+ # input.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+ # copy.valid_string #=> "1,2,3:7,5,6:10,2048,1024"
+ # copy2 = input.dup # same as calling new with a SequenceSet input
+ # copy == input #=> true, same set membership
+ # copy.eql? input #=> true, same string value
+ # copy.equal? input #=> false, different objects
+ #
+ # copy.normalize!
+ # copy.valid_string #=> "1:10,1024,2048"
+ # copy == input #=> true, same set membership
+ # copy.eql? input #=> false, different string value
+ #
+ # copy << 999
+ # copy.valid_string #=> "1:10,999,1024,2048"
+ # copy == input #=> false, different set membership
+ # copy.eql? input #=> false, different string value
+ #
+ # === Alternative set creation methods
+ #
+ # * ::[] returns a frozen validated (non-empty) SequenceSet, without
+ # allocating a new object when the input is already a valid frozen
+ # SequenceSet.
+ # * Net::IMAP::SequenceSet() coerces an input to SequenceSet, without
+ # allocating a new object when the input is already a SequenceSet.
+ # * ::try_convert calls +to_sequence_set+ on inputs that support it and
+ # returns +nil+ for inputs that don't.
+ # * ::empty and ::full both return frozen singleton sets which can be
+ # combined with set operations (#|, #&, #^, #-, etc) to make new sets.
+ #
+ # See SequenceSet@Creating+sequence+sets.
+ #
+ # @return [SequenceSet] a new instance of SequenceSet
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:558
+ def initialize(input = T.unsafe(nil)); end
+
+ # :call-seq:
+ # self & other -> sequence set
+ # intersection(other) -> sequence set
+ #
+ # Returns a new sequence set containing only the numbers common to this
+ # set and +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] & [2, 4, 6]
+ # #=> Net::IMAP::SequenceSet["2,4"]
+ #
+ # Related: #intersect?, #|, #-, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs & rhs is equivalent to:
+ # * rhs & lhs (commutative)
+ # * ~(~lhs | ~rhs) (De Morgan's Law)
+ # * lhs - ~rhs
+ # * lhs - (lhs - rhs)
+ # * lhs - (lhs ^ rhs)
+ # * lhs ^ (lhs - rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:913
+ def &(other); end
+
+ # :call-seq:
+ # self + other -> sequence set
+ # self | other -> sequence set
+ # union(other) -> sequence set
+ #
+ # Returns a new sequence set that has every number in the +other+ object
+ # added.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet["1:5"] | 2 | [4..6, 99]
+ # #=> Net::IMAP::SequenceSet["1:6,99"]
+ #
+ # Related: #add, #merge, #&, #-, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs | rhs is equivalent to:
+ # * rhs | lhs (commutative)
+ # * ~(~lhs & ~rhs) (De Morgan's Law)
+ # * (lhs & rhs) ^ (lhs ^ rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:861
+ def +(other); end
+
+ # :call-seq:
+ # self - other -> sequence set
+ # difference(other) -> sequence set
+ #
+ # Returns a new sequence set built by duplicating this set and removing
+ # every number that appears in +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] - 2 - 4 - 6
+ # #=> Net::IMAP::SequenceSet["1,3,5"]
+ #
+ # Related: #subtract, #|, #&, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs - rhs is equivalent to:
+ # * ~rhs - ~lhs
+ # * lhs & ~rhs
+ # * ~(~lhs | rhs)
+ # * lhs & (lhs ^ rhs)
+ # * lhs ^ (lhs & rhs)
+ # * rhs ^ (lhs | rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:887
+ def -(other); end
+
+ # :call-seq:
+ # add(element) -> self
+ # self << other -> self
+ #
+ # Adds a range or number to the set and returns +self+.
+ #
+ # #string will be regenerated. Use #merge to add many elements at once.
+ #
+ # Use #append to append new elements to #string. See
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #add?, #merge, #union, #append
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:981
+ def <<(element); end
+
+ # :call-seq: self == other -> true or false
+ #
+ # Returns true when the other SequenceSet represents the same message
+ # identifiers. Encoding difference—such as order, overlaps, or
+ # duplicates—are ignored.
+ #
+ # Net::IMAP::SequenceSet["1:3"] == Net::IMAP::SequenceSet["1:3"]
+ # #=> true
+ # Net::IMAP::SequenceSet["1,2,3"] == Net::IMAP::SequenceSet["1:3"]
+ # #=> true
+ # Net::IMAP::SequenceSet["1,3"] == Net::IMAP::SequenceSet["3,1"]
+ # #=> true
+ # Net::IMAP::SequenceSet["9,1:*"] == Net::IMAP::SequenceSet["1:*"]
+ # #=> true
+ #
+ # Related: #eql?, #normalize
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:675
+ def ==(other); end
+
+ # :call-seq: self === other -> true | false | nil
+ #
+ # Returns whether +other+ is contained within the set. +other+ may be any
+ # object that would be accepted by ::new. Returns +nil+ if StandardError
+ # is raised while converting +other+ to a comparable type.
+ #
+ # Related: #cover?, #include?, #include_star?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:706
+ def ===(other); end
+
+ # :call-seq:
+ # seqset[index] -> integer or :* or nil
+ # slice(index) -> integer or :* or nil
+ # seqset[start, length] -> sequence set or nil
+ # slice(start, length) -> sequence set or nil
+ # seqset[range] -> sequence set or nil
+ # slice(range) -> sequence set or nil
+ #
+ # Returns a number or a subset from the _sorted_ set, without modifying
+ # the set.
+ #
+ # When an Integer argument +index+ is given, the number at offset +index+
+ # in the sorted set is returned:
+ #
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[0] #=> 10
+ # set[5] #=> 15
+ # set[10] #=> 26
+ #
+ # If +index+ is negative, it counts relative to the end of the sorted set:
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[-1] #=> 26
+ # set[-3] #=> 22
+ # set[-6] #=> 15
+ #
+ # If +index+ is out of range, +nil+ is returned.
+ #
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[11] #=> nil
+ # set[-12] #=> nil
+ #
+ # The result is based on the sorted and de-duplicated set, not on the
+ # ordered #entries in #string.
+ #
+ # set = Net::IMAP::SequenceSet["12,20:23,11:16,21"]
+ # set[0] #=> 11
+ # set[-1] #=> 23
+ #
+ # Related: #at
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1540
+ def [](index, length = T.unsafe(nil)); end
+
+ # :call-seq:
+ # self ^ other -> sequence set
+ # xor(other) -> sequence set
+ #
+ # Returns a new sequence set containing numbers that are exclusive between
+ # this set and +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] ^ [2, 4, 6]
+ # #=> Net::IMAP::SequenceSet["1,3,5:6"]
+ #
+ # Related: #|, #&, #-, #~
+ #
+ # ==== Set identities
+ #
+ # lhs ^ rhs is equivalent to:
+ # * rhs ^ lhs (commutative)
+ # * ~lhs ^ ~rhs
+ # * (lhs | rhs) - (lhs & rhs)
+ # * (lhs - rhs) | (rhs - lhs)
+ # * (lhs ^ other) ^ (other ^ rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:938
+ def ^(other); end
+
+ # Returns a copy of +self+ which only contains the numbers above +num+.
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"].above(10) # to_s => "11:22,50"
+ # Net::IMAP::SequenceSet["5,10:22,50"].above(20) # to_s => "21:22,50
+ # Net::IMAP::SequenceSet["5,10:22,50"].above(30) # to_s => "50"
+ #
+ # This returns the same result as #intersection with ((num+1)..)
+ # or #difference with (..num).
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"] & (11..) # to_s => "11:22,50"
+ # Net::IMAP::SequenceSet["5,10:22,50"] - (..10) # to_s => "11:22,50"
+ # Net::IMAP::SequenceSet["5,10:22,50"] & (21..) # to_s => "21:22,50"
+ # Net::IMAP::SequenceSet["5,10:22,50"] - (..20) # to_s => "21:22,50"
+ #
+ # Related: #above, #-, #&
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1564
+ def above(num); end
+
+ # :call-seq:
+ # add(element) -> self
+ # self << other -> self
+ #
+ # Adds a range or number to the set and returns +self+.
+ #
+ # #string will be regenerated. Use #merge to add many elements at once.
+ #
+ # Use #append to append new elements to #string. See
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #add?, #merge, #union, #append
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:976
+ def add(element); end
+
+ # :call-seq: add?(element) -> self or nil
+ #
+ # Adds a range or number to the set and returns +self+. Returns +nil+
+ # when the element is already included in the set.
+ #
+ # #string will be regenerated. Use #merge to add many elements at once.
+ #
+ # Related: #add, #merge, #union, #include?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1048
+ def add?(element); end
+
+ # Adds a range or number to the set and returns +self+.
+ #
+ # Unlike #add, #merge, or #union, the new value is appended to #string.
+ # This may result in a #string which has duplicates or is out-of-order.
+ #
+ # set = Net::IMAP::SequenceSet.new
+ # set.append(1..2) # => Net::IMAP::SequenceSet("1:2")
+ # set.append(5) # => Net::IMAP::SequenceSet("1:2,5")
+ # set.append(4) # => Net::IMAP::SequenceSet("1:2,5,4")
+ # set.append(3) # => Net::IMAP::SequenceSet("1:2,5,4,3")
+ # set.append(2) # => Net::IMAP::SequenceSet("1:2,5,4,3,2")
+ #
+ # If +entry+ is a string, it will be converted into normal form.
+ #
+ # set = Net::IMAP::SequenceSet("4:5,1:2")
+ # set.append("6:6") # => Net::IMAP::SequenceSet("4:5,1:2,6")
+ # set.append("9:8") # => Net::IMAP::SequenceSet("4:5,1:2,6,8:9")
+ #
+ # If +entry+ adjacently follows the last entry, they will coalesced:
+ # set = Net::IMAP::SequenceSet.new("2,1,9:10")
+ # set.append(11..12) # => Net::IMAP::SequenceSet("2,1,9:12")
+ #
+ # Non-normalized sets store the string in addition to an internal
+ # normalized uint32 set representation. This can more than double memory
+ # usage, so large sets should avoid using #append unless preserving order
+ # is required. See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #add, #merge, #union
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1011
+ def append(entry); end
+
+ # :call-seq: at(index) -> integer or nil
+ #
+ # Returns the number at the given +index+ in the sorted set, without
+ # modifying the set.
+ #
+ # +index+ is interpreted the same as in #[], except that #at only allows a
+ # single integer argument.
+ #
+ # Related: #[], #slice, #ordered_at
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1484
+ def at(index); end
+
+ # Returns a copy of +self+ which only contains numbers below +num+.
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"].below(10) # to_s => "5"
+ # Net::IMAP::SequenceSet["5,10:22,50"].below(20) # to_s => "5,10:19"
+ # Net::IMAP::SequenceSet["5,10:22,50"].below(30) # to_s => "5,10:22"
+ #
+ # This returns the same result as #intersection with (..(num-1))
+ # or #difference with (num..).
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"] & (..9) # to_s => "5"
+ # Net::IMAP::SequenceSet["5,10:22,50"] - (10..) # to_s => "5"
+ # Net::IMAP::SequenceSet["5,10:22,50"] & (..19) # to_s => "5,10:19"
+ # Net::IMAP::SequenceSet["5,10:22,50"] - (20..) # to_s => "5,10:19"
+ #
+ # When the set does not contain *, #below is identical to #limit
+ # with max: num - 1. When the set does contain *,
+ # #below always drops it from the result. Use #limit when the IMAP
+ # semantics for * must be enforced.
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"].below(30) # to_s => "5,10:22"
+ # Net::IMAP::SequenceSet["5,10:22,50"].limit(max: 29) # to_s => "5,10:22"
+ # Net::IMAP::SequenceSet["5,10:22,*"].below(30) # to_s => "5,10:22"
+ # Net::IMAP::SequenceSet["5,10:22,*"].limit(max: 29) # to_s => "5,10:22,29"
+ #
+ # Related: #above, #-, #&, #limit
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1595
+ def below(num); end
+
+ # Returns the number of members in the set.
+ #
+ # Unlike #count, "*" is considered to be distinct from
+ # 2³² - 1 (the maximum 32-bit unsigned integer value).
+ #
+ # set = Net::IMAP::SequenceSet[1..10]
+ # set.count #=> 10
+ # set.cardinality #=> 10
+ #
+ # set = Net::IMAP::SequenceSet["4294967295,*"]
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # set = Net::IMAP::SequenceSet[1..]
+ # set.count #=> 4294967295
+ # set.cardinality #=> 4294967296
+ #
+ # Related: #count, #count_with_duplicates
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1346
+ def cardinality; end
+
+ # Removes all elements and returns self.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:565
+ def clear; end
+
+ # :call-seq:
+ # ~ self -> sequence set
+ # complement -> sequence set
+ #
+ # Returns the complement of self, a SequenceSet which contains all numbers
+ # _except_ for those in this set.
+ #
+ # ~Net::IMAP::SequenceSet.full #=> Net::IMAP::SequenceSet.empty
+ # ~Net::IMAP::SequenceSet.empty #=> Net::IMAP::SequenceSet.full
+ # ~Net::IMAP::SequenceSet["1:5,100:222"]
+ # #=> Net::IMAP::SequenceSet["6:99,223:*"]
+ # ~Net::IMAP::SequenceSet["6:99,223:*"]
+ # #=> Net::IMAP::SequenceSet["1:5,100:222"]
+ #
+ # Related: #complement!, #|, #&, #-, #^
+ #
+ # ==== Set identities
+ #
+ # ~set is equivalent to:
+ # * full - set, where "full" is Net::IMAP::SequenceSet.full
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:962
+ def complement; end
+
+ # :call-seq: complement! -> self
+ #
+ # In-place set #complement. Replaces the contents of this set with its
+ # own #complement. It will contain all possible values _except_ for those
+ # currently in the set.
+ #
+ # Related: #complement
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1648
+ def complement!; end
+
+ # Returns the count of distinct #numbers in the set.
+ #
+ # Unlike #cardinality, "*" is considered to be equal to
+ # 2³² - 1 (the maximum 32-bit unsigned integer value).
+ #
+ # set = Net::IMAP::SequenceSet[1..10]
+ # set.count #=> 10
+ # set.cardinality #=> 10
+ #
+ # set = Net::IMAP::SequenceSet["4294967295,*"]
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # set = Net::IMAP::SequenceSet[1..]
+ # set.count #=> 4294967295
+ # set.cardinality #=> 4294967296
+ #
+ # Related: #cardinality, #count_with_duplicates
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1366
+ def count; end
+
+ # Returns the count of repeated numbers in the ordered #entries, the
+ # difference between #count_with_duplicates and #count.
+ #
+ # When #string is normalized, this is zero.
+ #
+ # Related: #entries, #count_with_duplicates, #has_duplicates?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1431
+ def count_duplicates; end
+
+ # Returns the count of numbers in the ordered #entries, including any
+ # repeated numbers.
+ #
+ # When #string is normalized, this returns the same as #count. Like
+ # #count, "*" is considered to be equal to 2³² - 1 (the
+ # maximum 32-bit unsigned integer value).
+ #
+ # In a range, "*" is _not_ considered a duplicate:
+ # set = Net::IMAP::SequenceSet["4294967295:*"]
+ # set.count_with_duplicates #=> 1
+ # set.size #=> 2
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # In a separate entry, "*" _is_ considered a duplicate:
+ # set = Net::IMAP::SequenceSet["4294967295,*"]
+ # set.count_with_duplicates #=> 2
+ # set.size #=> 2
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # Related: #count, #cardinality, #size, #count_duplicates,
+ # #has_duplicates?, #entries
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1393
+ def count_with_duplicates; end
+
+ # :call-seq: cover?(other) -> true | false | nil
+ #
+ # Returns whether +other+ is contained within the set. +other+ may be any
+ # object that would be accepted by ::new.
+ #
+ # Related: #===, #include?, #include_star?, #intersect?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:718
+ def cover?(other); end
+
+ # Returns an array with #normalized_string when valid and an empty array
+ # otherwise.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:616
+ def deconstruct; end
+
+ # :call-seq: delete(element) -> self
+ #
+ # Deletes the given range or number from the set and returns +self+.
+ #
+ # #string will be regenerated after deletion. Use #subtract to remove
+ # many elements at once.
+ #
+ # Related: #delete?, #delete_at, #subtract, #difference
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1061
+ def delete(element); end
+
+ # :call-seq:
+ # delete?(number) -> integer or nil
+ # delete?(star) -> :* or nil
+ # delete?(range) -> sequence set or nil
+ #
+ # Removes a specified value from the set, and returns the removed value.
+ # Returns +nil+ if nothing was removed.
+ #
+ # Returns an integer when the specified +number+ argument was removed:
+ # set = Net::IMAP::SequenceSet.new [5..10, 20]
+ # set.delete?(7) #=> 7
+ # set #=> #
+ # set.delete?("20") #=> 20
+ # set #=> #
+ # set.delete?(30) #=> nil
+ #
+ # Returns :* when * or -1 is specified and
+ # removed:
+ # set = Net::IMAP::SequenceSet.new "5:9,20,35,*"
+ # set.delete?(-1) #=> :*
+ # set #=> #
+ #
+ # And returns a new SequenceSet when a range is specified:
+ #
+ # set = Net::IMAP::SequenceSet.new [5..10, 20]
+ # set.delete?(9..) #=> #
+ # set #=> #
+ # set.delete?(21..) #=> nil
+ #
+ # #string will be regenerated after deletion.
+ #
+ # Related: #delete, #delete_at, #subtract, #difference, #disjoint?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1099
+ def delete?(element); end
+
+ # :call-seq: delete_at(index) -> number or :* or nil
+ #
+ # Deletes a number the set, indicated by the given +index+. Returns the
+ # number that was removed, or +nil+ if nothing was removed.
+ #
+ # #string will be regenerated after deletion.
+ #
+ # Related: #delete, #delete?, #slice!, #subtract, #difference
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1124
+ def delete_at(index); end
+
+ # :call-seq:
+ # self - other -> sequence set
+ # difference(other) -> sequence set
+ #
+ # Returns a new sequence set built by duplicating this set and removing
+ # every number that appears in +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] - 2 - 4 - 6
+ # #=> Net::IMAP::SequenceSet["1,3,5"]
+ #
+ # Related: #subtract, #|, #&, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs - rhs is equivalent to:
+ # * ~rhs - ~lhs
+ # * lhs & ~rhs
+ # * ~(~lhs | rhs)
+ # * lhs & (lhs ^ rhs)
+ # * lhs ^ (lhs & rhs)
+ # * rhs ^ (lhs | rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:888
+ def difference(other); end
+
+ # Returns +true+ if the set and a given object have no common elements,
+ # +false+ otherwise.
+ #
+ # Net::IMAP::SequenceSet["5:10"].disjoint? "7,9,11" #=> false
+ # Net::IMAP::SequenceSet["5:10"].disjoint? "11:33" #=> true
+ #
+ # Related: #intersection, #intersect?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:773
+ def disjoint?(other); end
+
+ # Yields each number or range (or :*) in #elements to the block
+ # and returns self. Returns an enumerator when called without a block.
+ #
+ # The returned numbers are sorted and de-duplicated, even when the input
+ # #string is not. See #normalize, SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #elements, #each_entry
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1271
+ def each_element; end
+
+ # Yields each number or range in #string to the block and returns +self+.
+ # Returns an enumerator when called without a block.
+ #
+ # The entries are yielded in the same order they appear in #string, with
+ # no sorting, deduplication, or coalescing. When #string is in its
+ # normalized form, this will yield the same values as #each_element.
+ #
+ # See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #entries, #each_element
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1259
+ def each_entry(&block); end
+
+ # Yields each number in #numbers to the block and returns self.
+ # If the set contains a *, RangeError will be raised.
+ #
+ # Returns an enumerator when called without a block (even if the set
+ # contains *).
+ #
+ # Related: #numbers, #each_ordered_number
+ #
+ # @raise [RangeError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1299
+ def each_number(&block); end
+
+ # Yields each number in #entries to the block and returns self.
+ # If the set contains a *, RangeError will be raised.
+ #
+ # Returns an enumerator when called without a block (even if the set
+ # contains *).
+ #
+ # Related: #entries, #each_number
+ #
+ # @raise [RangeError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1313
+ def each_ordered_number(&block); end
+
+ # Yields each range in #ranges to the block and returns self.
+ # Returns an enumerator when called without a block.
+ #
+ # Related: #ranges
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1281
+ def each_range; end
+
+ # Returns an array of ranges and integers and :*.
+ #
+ # The returned elements are sorted and coalesced, even when the input
+ # #string is not. * will sort last. See #normalize,
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # By itself, * translates to :*. A range containing
+ # * translates to an endless range. Use #limit to translate both
+ # cases to a maximum value.
+ #
+ # Net::IMAP::SequenceSet["2,5:9,6,*,12:11"].elements
+ # #=> [2, 5..9, 11..12, :*]
+ #
+ # Related: #each_element, #ranges, #numbers
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1200
+ def elements; end
+
+ # Returns true if the set contains no elements
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:834
+ def empty?; end
+
+ # For YAML serialization
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1847
+ def encode_with(coder); end
+
+ # Returns an array of ranges and integers and :*.
+ #
+ # The entries are in the same order they appear in #string, with no
+ # sorting, deduplication, or coalescing. When #string is in its
+ # normalized form, this will return the same result as #elements.
+ # This is useful when the given order is significant, for example in a
+ # ESEARCH response to IMAP#sort.
+ #
+ # See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #each_entry, #elements
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1184
+ def entries; end
+
+ # :call-seq: eql?(other) -> true or false
+ #
+ # Hash equality requires the same encoded #string representation.
+ #
+ # Net::IMAP::SequenceSet["1:3"] .eql? Net::IMAP::SequenceSet["1:3"]
+ # #=> true
+ # Net::IMAP::SequenceSet["1,2,3"].eql? Net::IMAP::SequenceSet["1:3"]
+ # #=> false
+ # Net::IMAP::SequenceSet["1,3"] .eql? Net::IMAP::SequenceSet["3,1"]
+ # #=> false
+ # Net::IMAP::SequenceSet["9,1:*"].eql? Net::IMAP::SequenceSet["1:*"]
+ # #=> false
+ #
+ # Related: #==, #normalize
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:694
+ def eql?(other); end
+
+ # Returns the (sorted and deduplicated) index of +number+ in the set, or
+ # +nil+ if +number+ isn't in the set.
+ #
+ # Related: #[], #at, #find_ordered_index
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1452
+ def find_index(number); end
+
+ # Returns the first index of +number+ in the ordered #entries, or
+ # +nil+ if +number+ isn't in the set.
+ #
+ # Related: #find_index
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1465
+ def find_ordered_index(number); end
+
+ # Freezes and returns the set. A frozen SequenceSet is Ractor-safe.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:653
+ def freeze; end
+
+ # Returns true if the set contains every possible element.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:837
+ def full?; end
+
+ # :call-seq: has_duplicates? -> true | false
+ #
+ # Returns whether or not the ordered #entries repeat any numbers.
+ #
+ # Always returns +false+ when #string is normalized.
+ #
+ # Related: #entries, #count_with_duplicates, #count_duplicates
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1443
+ def has_duplicates?; end
+
+ # See #eql?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:697
+ def hash; end
+
+ # Returns +true+ when a given number or range is in +self+, and +false+
+ # otherwise. Returns +nil+ when +number+ isn't a valid SequenceSet
+ # element (Integer, Range, *, +sequence-set+ string).
+ #
+ # set = Net::IMAP::SequenceSet["5:10,100,111:115"]
+ # set.include? 1 #=> false
+ # set.include? 5..10 #=> true
+ # set.include? 11..20 #=> false
+ # set.include? 100 #=> true
+ # set.include? 6 #=> true, covered by "5:10"
+ # set.include? 6..9 #=> true, covered by "5:10"
+ # set.include? "6:9" #=> true, strings are parsed
+ # set.include? 4..9 #=> false, intersection is not sufficient
+ # set.include? "*" #=> false, use #limit to re-interpret "*"
+ # set.include? -1 #=> false, -1 is interpreted as "*"
+ #
+ # set = Net::IMAP::SequenceSet["5:10,100,111:*"]
+ # set.include? :* #=> true
+ # set.include? "*" #=> true
+ # set.include? -1 #=> true
+ # set.include?(200..) #=> true
+ # set.include?(100..) #=> false
+ #
+ # Related: #include_star?, #cover?, #===, #intersect?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:744
+ def include?(element); end
+
+ # Returns +true+ when the set contains *.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:752
+ def include_star?; end
+
+ # For YAML deserialization
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1853
+ def init_with(coder); end
+
+ # Returns an inspection string for the SequenceSet.
+ #
+ # Net::IMAP::SequenceSet.new.inspect
+ # #=> "Net::IMAP::SequenceSet()"
+ #
+ # Net::IMAP::SequenceSet(1..5, 1024, 15, 2000).inspect
+ # #=> 'Net::IMAP::SequenceSet("1:5,15,1024,2000")'
+ #
+ # Frozen sets have slightly different output:
+ #
+ # Net::IMAP::SequenceSet.empty.inspect
+ # #=> "Net::IMAP::SequenceSet.empty"
+ #
+ # Net::IMAP::SequenceSet[1..5, 1024, 15, 2000].inspect
+ # #=> 'Net::IMAP::SequenceSet["1:5,15,1024,2000"]'
+ #
+ # Large sets (by number of #entries) have abridged output, with only the
+ # first and last entries:
+ #
+ # Net::IMAP::SequenceSet(((1..5000) % 2).to_a).inspect
+ # #=> #
+ #
+ # Related: #to_s, #string
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1802
+ def inspect; end
+
+ # In-place set #intersection. Removes any elements that are missing from
+ # +other+ from this set, keeping only the #intersection, and returns
+ # +self+.
+ #
+ # +other+ can be any object that would be accepted by ::new.
+ #
+ # set = Net::IMAP::SequenceSet.new(1..5)
+ # set.intersect! [2, 4, 6]
+ # set #=> Net::IMAP::SequenceSet("2,4")
+ #
+ # Related: #intersection, #intersect?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1670
+ def intersect!(other); end
+
+ # Returns +true+ if the set and a given object have any common elements,
+ # +false+ otherwise.
+ #
+ # Net::IMAP::SequenceSet["5:10"].intersect? "7,9,11" #=> true
+ # Net::IMAP::SequenceSet["5:10"].intersect? "11:33" #=> false
+ #
+ # Related: #intersection, #disjoint?, #cover?, #include?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:761
+ def intersect?(other); end
+
+ # :call-seq:
+ # self & other -> sequence set
+ # intersection(other) -> sequence set
+ #
+ # Returns a new sequence set containing only the numbers common to this
+ # set and +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] & [2, 4, 6]
+ # #=> Net::IMAP::SequenceSet["2,4"]
+ #
+ # Related: #intersect?, #|, #-, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs & rhs is equivalent to:
+ # * rhs & lhs (commutative)
+ # * ~(~lhs | ~rhs) (De Morgan's Law)
+ # * lhs - ~rhs
+ # * lhs - (lhs - rhs)
+ # * lhs - (lhs ^ rhs)
+ # * lhs ^ (lhs - rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:914
+ def intersection(other); end
+
+ # Returns a frozen SequenceSet with * converted to +max+, numbers
+ # and ranges over +max+ removed, and ranges containing +max+ converted to
+ # end at +max+.
+ #
+ # Net::IMAP::SequenceSet["5,10:22,50"].limit(max: 20).to_s
+ # #=> "5,10:20"
+ #
+ # * is always interpreted as the maximum value. When the set
+ # contains *, it will be set equal to the limit.
+ #
+ # Net::IMAP::SequenceSet["*"].limit(max: 37)
+ # #=> Net::IMAP::SequenceSet["37"]
+ # Net::IMAP::SequenceSet["5:*"].limit(max: 37)
+ # #=> Net::IMAP::SequenceSet["5:37"]
+ # Net::IMAP::SequenceSet["500:*"].limit(max: 37)
+ # #=> Net::IMAP::SequenceSet["37"]
+ #
+ # Related: #limit!
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1619
+ def limit(max:); end
+
+ # Removes all members over +max+ and returns self. If * is a
+ # member, it will be converted to +max+.
+ #
+ # Related: #limit
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1632
+ def limit!(max:); end
+
+ # :call-seq:
+ # max(star: :*) => integer or star or nil
+ # max(count) => SequenceSet
+ #
+ # Returns the maximum value in +self+, +star+ when the set includes
+ # *, or +nil+ when the set is empty.
+ #
+ # When +count+ is given, a new SequenceSet is returned, containing only
+ # the last +count+ numbers. An empty SequenceSet is returned when +self+
+ # is empty. (+star+ is ignored when +count+ is given.)
+ #
+ # Related: #min, #minmax, #slice
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:789
+ def max(count = T.unsafe(nil), star: T.unsafe(nil)); end
+
+ # Returns +true+ when a given number or range is in +self+, and +false+
+ # otherwise. Returns +nil+ when +number+ isn't a valid SequenceSet
+ # element (Integer, Range, *, +sequence-set+ string).
+ #
+ # set = Net::IMAP::SequenceSet["5:10,100,111:115"]
+ # set.include? 1 #=> false
+ # set.include? 5..10 #=> true
+ # set.include? 11..20 #=> false
+ # set.include? 100 #=> true
+ # set.include? 6 #=> true, covered by "5:10"
+ # set.include? 6..9 #=> true, covered by "5:10"
+ # set.include? "6:9" #=> true, strings are parsed
+ # set.include? 4..9 #=> false, intersection is not sufficient
+ # set.include? "*" #=> false, use #limit to re-interpret "*"
+ # set.include? -1 #=> false, -1 is interpreted as "*"
+ #
+ # set = Net::IMAP::SequenceSet["5:10,100,111:*"]
+ # set.include? :* #=> true
+ # set.include? "*" #=> true
+ # set.include? -1 #=> true
+ # set.include?(200..) #=> true
+ # set.include?(100..) #=> false
+ #
+ # Related: #include_star?, #cover?, #===, #intersect?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:749
+ def member?(element); end
+
+ # In-place set #union. Merges all of the elements that appear in any of
+ # the +sets+ into this set, and returns +self+.
+ #
+ # The +sets+ may be any objects that would be accepted by ::new.
+ #
+ # #string will be regenerated after all sets have been merged.
+ #
+ # Related: #add, #add?, #union
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1155
+ def merge(*sets); end
+
+ # :call-seq:
+ # min(star: :*) => integer or star or nil
+ # min(count) => SequenceSet
+ #
+ # Returns the minimum value in +self+, +star+ when the only value in the
+ # set is *, or +nil+ when the set is empty.
+ #
+ # When +count+ is given, a new SequenceSet is returned, containing only
+ # the first +count+ numbers. An empty SequenceSet is returned when +self+
+ # is empty. (+star+ is ignored when +count+ is given.)
+ #
+ # Related: #max, #minmax, #slice
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:813
+ def min(count = T.unsafe(nil), star: T.unsafe(nil)); end
+
+ # :call-seq: minmax(star: :*) => [min, max] or nil
+ #
+ # Returns a 2-element array containing the minimum and maximum numbers in
+ # +self+, or +nil+ when the set is empty. +star+ is handled the same way
+ # as by #min and #max.
+ #
+ # Related: #min, #max
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:828
+ def minmax(star: T.unsafe(nil)); end
+
+ # Returns a SequenceSet with a normalized string representation: entries
+ # have been sorted, deduplicated, and coalesced, and all entries
+ # are in normal form. Returns +self+ for frozen normalized sets, and a
+ # normalized duplicate otherwise.
+ #
+ # See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Net::IMAP::SequenceSet["1:5,3:7,10:9,10:11"].normalize
+ # #=> Net::IMAP::SequenceSet["1:7,9:11"]
+ #
+ # Related: #normalize!, #normalized_string, #normalized?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1751
+ def normalize; end
+
+ # Resets #string to be sorted, deduplicated, and coalesced. Returns
+ # +self+. See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Related: #normalize, #normalized_string, #normalized?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1759
+ def normalize!; end
+
+ # Returns whether #string is fully normalized: entries have been sorted,
+ # deduplicated, and coalesced, and all entries are in normal form. See
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Net::IMAP::SequenceSet["1,3,5"].normalized? #=> true
+ # Net::IMAP::SequenceSet["20:30"].normalized? #=> true
+ #
+ # Net::IMAP::SequenceSet["3,5,1"].normalized? #=> false, not sorted
+ # Net::IMAP::SequenceSet["1,2,3"].normalized? #=> false, not coalesced
+ # Net::IMAP::SequenceSet["1:5,2"].normalized? #=> false, repeated number
+ #
+ # Net::IMAP::SequenceSet["1:1"].normalized? #=> false, number as range
+ # Net::IMAP::SequenceSet["5:1"].normalized? #=> false, backwards range
+ #
+ # Returns +true+ if (and only if) #string is equal to #normalized_string:
+ # seqset = Net::IMAP::SequenceSet["1:3,5"]
+ # seqset.string #=> "1:3,5"
+ # seqset.normalized_string #=> "1:3,5"
+ # seqset.entries #=> [1..3, 5]
+ # seqset.elements #=> [1..3, 5]
+ # seqset.normalized? #=> true
+ #
+ # seqset = Net::IMAP::SequenceSet["3,1,2"]
+ # seqset.string #=> "3,1,2"
+ # seqset.normalized_string #=> "1:3"
+ # seqset.entries #=> [3, 1, 2]
+ # seqset.elements #=> [1..3]
+ # seqset.normalized? #=> false
+ #
+ # Can return +false+ even when #entries and #elements are the same:
+ # seqset = Net::IMAP::SequenceSet["5:1"]
+ # seqset.string #=> "5:1"
+ # seqset.normalized_string #=> "1:5"
+ # seqset.entries #=> [1..5]
+ # seqset.elements #=> [1..5]
+ # seqset.normalized? #=> false
+ #
+ # Note that empty sets are normalized, even though they are not #valid?:
+ # seqset = Net::IMAP::SequenceSet.empty
+ # seqset.normalized? #=> true
+ # seqset.valid? #=> false
+ #
+ # Related: #normalize, #normalize!, #normalized_string
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1736
+ def normalized?; end
+
+ # Returns a normalized +sequence-set+ string representation, sorted
+ # and deduplicated. Adjacent or overlapping elements will be merged into
+ # a single larger range. See SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Net::IMAP::SequenceSet["1:5,3:7,10:9,10:11"].normalized_string
+ # #=> "1:7,9:11"
+ #
+ # Returns +nil+ when the set is empty.
+ #
+ # Related: #normalize!, #normalize, #string, #to_s, #normalized?
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1775
+ def normalized_string; end
+
+ # Returns a sorted array of all of the number values in the sequence set.
+ #
+ # The returned numbers are sorted and de-duplicated, even when the input
+ # #string is not. See #normalize, SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # Net::IMAP::SequenceSet["2,5:9,6,12:11"].numbers
+ # #=> [2, 5, 6, 7, 8, 9, 11, 12]
+ #
+ # If the set contains a *, RangeError is raised. See #limit.
+ #
+ # Net::IMAP::SequenceSet["10000:*"].numbers
+ # #!> RangeError
+ #
+ # *WARNING:* Even excluding sets with *, an enormous result can
+ # easily be created. An array with over 4 billion integers could be
+ # returned, requiring up to 32GiB of memory on a 64-bit architecture.
+ #
+ # Net::IMAP::SequenceSet[10000..2**32-1].numbers
+ # # ...probably freezes the process for a while...
+ # #!> NoMemoryError (probably)
+ #
+ # For safety, consider using #limit or #intersection to set an upper
+ # bound. Alternatively, use #each_element, #each_range, or even
+ # #each_number to avoid allocation of a result array.
+ #
+ # Related: #elements, #ranges, #to_set
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1247
+ def numbers; end
+
+ # :call-seq: ordered_at(index) -> integer or nil
+ #
+ # Returns the number at the given +index+ in the ordered #entries, without
+ # modifying the set.
+ #
+ # +index+ is interpreted the same as in #at (and #[]), except that
+ # #ordered_at applies to the ordered #entries, not the sorted set.
+ #
+ # Related: #[], #slice, #ordered_at
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1497
+ def ordered_at(index); end
+
+ # Returns +true+ if the set and a given object have any common elements,
+ # +false+ otherwise.
+ #
+ # Net::IMAP::SequenceSet["5:10"].intersect? "7,9,11" #=> true
+ # Net::IMAP::SequenceSet["5:10"].intersect? "11:33" #=> false
+ #
+ # Related: #intersection, #disjoint?, #cover?, #include?
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:764
+ def overlap?(other); end
+
+ # Returns an array of ranges
+ #
+ # The returned elements are sorted and coalesced, even when the input
+ # #string is not. * will sort last. See #normalize,
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # * translates to an endless range. By itself, *
+ # translates to :*... Use #limit to set * to a maximum
+ # value.
+ #
+ # Net::IMAP::SequenceSet["2,5:9,6,*,12:11"].ranges
+ # #=> [2..2, 5..9, 11..12, :*..]
+ # Net::IMAP::SequenceSet["123,999:*,456:789"].ranges
+ # #=> [123..123, 456..789, 999..]
+ #
+ # Related: #each_range, #elements, #numbers, #to_set
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1219
+ def ranges; end
+
+ # Replace the contents of the set with the contents of +other+ and returns
+ # +self+.
+ #
+ # +other+ may be another SequenceSet or any other object that would be
+ # accepted by ::new.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:577
+ def replace(other); end
+
+ # Unstable API: for internal use only (Net::IMAP#send_data)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1842
+ def send_data(imap, tag); end
+
+ # Returns the combined size of the ordered #entries, including any
+ # repeated numbers.
+ #
+ # When #string is normalized, this returns the same as #cardinality.
+ # Like #cardinality, "*" is considered to be be distinct from
+ # 2³² - 1 (the maximum 32-bit unsigned integer value).
+ #
+ # set = Net::IMAP::SequenceSet["4294967295:*"]
+ # set.size #=> 2
+ # set.count_with_duplicates #=> 1
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # set = Net::IMAP::SequenceSet["4294967295,*"]
+ # set.size #=> 2
+ # set.count_with_duplicates #=> 2
+ # set.count #=> 1
+ # set.cardinality #=> 2
+ #
+ # Related: #cardinality, #count_with_duplicates, #count, #entries
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1420
+ def size; end
+
+ # :call-seq:
+ # seqset[index] -> integer or :* or nil
+ # slice(index) -> integer or :* or nil
+ # seqset[start, length] -> sequence set or nil
+ # slice(start, length) -> sequence set or nil
+ # seqset[range] -> sequence set or nil
+ # slice(range) -> sequence set or nil
+ #
+ # Returns a number or a subset from the _sorted_ set, without modifying
+ # the set.
+ #
+ # When an Integer argument +index+ is given, the number at offset +index+
+ # in the sorted set is returned:
+ #
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[0] #=> 10
+ # set[5] #=> 15
+ # set[10] #=> 26
+ #
+ # If +index+ is negative, it counts relative to the end of the sorted set:
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[-1] #=> 26
+ # set[-3] #=> 22
+ # set[-6] #=> 15
+ #
+ # If +index+ is out of range, +nil+ is returned.
+ #
+ # set = Net::IMAP::SequenceSet["10:15,20:23,26"]
+ # set[11] #=> nil
+ # set[-12] #=> nil
+ #
+ # The result is based on the sorted and de-duplicated set, not on the
+ # ordered #entries in #string.
+ #
+ # set = Net::IMAP::SequenceSet["12,20:23,11:16,21"]
+ # set[0] #=> 11
+ # set[-1] #=> 23
+ #
+ # Related: #at
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1547
+ def slice(index, length = T.unsafe(nil)); end
+
+ # :call-seq:
+ # slice!(index) -> integer or :* or nil
+ # slice!(start, length) -> sequence set or nil
+ # slice!(range) -> sequence set or nil
+ #
+ # Deletes a number or consecutive numbers from the set, indicated by the
+ # given +index+, +start+ and +length+, or +range+ of offsets. Returns the
+ # number or sequence set that was removed, or +nil+ if nothing was
+ # removed. Arguments are interpreted the same as for #slice or #[].
+ #
+ # #string will be regenerated after deletion.
+ #
+ # Related: #slice, #delete_at, #delete, #delete?, #subtract, #difference
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1141
+ def slice!(index, length = T.unsafe(nil)); end
+
+ # Returns the \IMAP +sequence-set+ string representation, or +nil+ when
+ # the set is empty. Note that an empty set is invalid in the \IMAP
+ # syntax.
+ #
+ # Use #valid_string to raise an exception when the set is empty, or #to_s
+ # to return an empty string.
+ #
+ # If the set was created from a single string, it is not normalized. If
+ # the set is updated the string will be normalized.
+ #
+ # Related: #valid_string, #normalized_string, #to_s, #inspect
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:612
+ def string; end
+
+ # Assigns a new string to #string and resets #elements to match.
+ # Assigning +nil+ or an empty string are equivalent to calling #clear.
+ #
+ # Non-empty strings are validated but not normalized.
+ #
+ # Use #add, #merge, or #append to add a string to an existing set.
+ #
+ # Related: #replace, #clear
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:626
+ def string=(input); end
+
+ # In-place set #difference. Removes all of the elements that appear in
+ # any of the given +sets+ from this set, and returns +self+.
+ #
+ # The +sets+ may be any objects that would be accepted by ::new.
+ #
+ # Related: #difference
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1167
+ def subtract(*sets); end
+
+ # Returns an array of ranges and integers and :*.
+ #
+ # The returned elements are sorted and coalesced, even when the input
+ # #string is not. * will sort last. See #normalize,
+ # SequenceSet@Ordered+and+Normalized+sets.
+ #
+ # By itself, * translates to :*. A range containing
+ # * translates to an endless range. Use #limit to translate both
+ # cases to a maximum value.
+ #
+ # Net::IMAP::SequenceSet["2,5:9,6,*,12:11"].elements
+ # #=> [2, 5..9, 11..12, :*]
+ #
+ # Related: #each_element, #ranges, #numbers
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1201
+ def to_a; end
+
+ # Returns the \IMAP +sequence-set+ string representation, or an empty
+ # string when the set is empty. Note that an empty set is invalid in the
+ # \IMAP syntax.
+ #
+ # Related: #string, #valid_string, #normalized_string, #inspect
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:650
+ def to_s; end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1833
+ def to_sequence_set; end
+
+ # Returns a Set with all of the #numbers in the sequence set.
+ #
+ # If the set contains a *, RangeError will be raised.
+ #
+ # See #numbers for the warning about very large sets.
+ #
+ # Related: #elements, #ranges, #numbers
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1326
+ def to_set; end
+
+ # :call-seq:
+ # self + other -> sequence set
+ # self | other -> sequence set
+ # union(other) -> sequence set
+ #
+ # Returns a new sequence set that has every number in the +other+ object
+ # added.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet["1:5"] | 2 | [4..6, 99]
+ # #=> Net::IMAP::SequenceSet["1:6,99"]
+ #
+ # Related: #add, #merge, #&, #-, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs | rhs is equivalent to:
+ # * rhs | lhs (commutative)
+ # * ~(~lhs & ~rhs) (De Morgan's Law)
+ # * (lhs & rhs) ^ (lhs ^ rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:862
+ def union(other); end
+
+ # Returns false when the set is empty.
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:831
+ def valid?; end
+
+ # Returns the \IMAP +sequence-set+ string representation, or raises a
+ # DataFormatError when the set is empty.
+ #
+ # Use #string to return +nil+ or #to_s to return an empty string without
+ # error.
+ #
+ # Related: #string, #normalized_string, #to_s
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:596
+ def valid_string; end
+
+ # Unstable API: currently for internal use only (Net::IMAP#validate_data)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1836
+ def validate; end
+
+ # :call-seq:
+ # self ^ other -> sequence set
+ # xor(other) -> sequence set
+ #
+ # Returns a new sequence set containing numbers that are exclusive between
+ # this set and +other+.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet[1..5] ^ [2, 4, 6]
+ # #=> Net::IMAP::SequenceSet["1,3,5:6"]
+ #
+ # Related: #|, #&, #-, #~
+ #
+ # ==== Set identities
+ #
+ # lhs ^ rhs is equivalent to:
+ # * rhs ^ lhs (commutative)
+ # * ~lhs ^ ~rhs
+ # * (lhs | rhs) - (lhs & rhs)
+ # * (lhs - rhs) | (rhs - lhs)
+ # * (lhs ^ other) ^ (other ^ rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:939
+ def xor(other); end
+
+ # In-place set #xor. Adds any numbers in +other+ that are missing from
+ # this set, removes any numbers in +other+ that are already in this set,
+ # and returns +self+.
+ #
+ # +other+ can be any object that would be accepted by ::new.
+ #
+ # set = Net::IMAP::SequenceSet.new(1..5)
+ # set.xor! [2, 4, 6]
+ # set #=> Net::IMAP::SequenceSet["1,3,5:6"]
+ #
+ # Related: #xor, #merge, #subtract
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1686
+ def xor!(other); end
+
+ # :call-seq:
+ # self + other -> sequence set
+ # self | other -> sequence set
+ # union(other) -> sequence set
+ #
+ # Returns a new sequence set that has every number in the +other+ object
+ # added.
+ #
+ # +other+ may be any object that would be accepted by ::new.
+ #
+ # Net::IMAP::SequenceSet["1:5"] | 2 | [4..6, 99]
+ # #=> Net::IMAP::SequenceSet["1:6,99"]
+ #
+ # Related: #add, #merge, #&, #-, #^, #~
+ #
+ # ==== Set identities
+ #
+ # lhs | rhs is equivalent to:
+ # * rhs | lhs (commutative)
+ # * ~(~lhs & ~rhs) (De Morgan's Law)
+ # * (lhs & rhs) ^ (lhs ^ rhs)
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:860
+ def |(other); end
+
+ # :call-seq:
+ # ~ self -> sequence set
+ # complement -> sequence set
+ #
+ # Returns the complement of self, a SequenceSet which contains all numbers
+ # _except_ for those in this set.
+ #
+ # ~Net::IMAP::SequenceSet.full #=> Net::IMAP::SequenceSet.empty
+ # ~Net::IMAP::SequenceSet.empty #=> Net::IMAP::SequenceSet.full
+ # ~Net::IMAP::SequenceSet["1:5,100:222"]
+ # #=> Net::IMAP::SequenceSet["6:99,223:*"]
+ # ~Net::IMAP::SequenceSet["6:99,223:*"]
+ # #=> Net::IMAP::SequenceSet["1:5,100:222"]
+ #
+ # Related: #complement!, #|, #&, #-, #^
+ #
+ # ==== Set identities
+ #
+ # ~set is equivalent to:
+ # * full - set, where "full" is Net::IMAP::SequenceSet.full
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:961
+ def ~; end
+
+ protected
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2107
+ def dup_set_data; end
+
+ # Returns the value of attribute set_data.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1864
+ def minmaxes; end
+
+ # Returns the value of attribute set_data.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1863
+ def runs; end
+
+ # Returns the value of attribute set_data.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1861
+ def set_data; end
+
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2175
+ def add_coalesced_minmax(lower_idx, lmin, lmax, min, max); end
+
+ # --|=====| |=====new run=======| append
+ # ?????????-|=====new run=======|-|===lower===|-- insert
+ #
+ # |=====new run=======|
+ # ---------??=======lower=======??--------------- noop
+ #
+ # ---------??===lower==|--|==| join remaining
+ # ---------??===lower==|--|==|----|===upper===|-- join until upper
+ # ---------??===lower==|--|==|--|=====upper===|-- join to upper
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2164
+ def add_minmax(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2140
+ def add_minmaxes(minmaxes); end
+
+ # --|=====| |=====new run=======| append
+ # ?????????-|=====new run=======|-|===lower===|-- insert
+ #
+ # |=====new run=======|
+ # ---------??=======lower=======??--------------- noop
+ #
+ # ---------??===lower==|--|==| join remaining
+ # ---------??===lower==|--|==|----|===upper===|-- join until upper
+ # ---------??===lower==|--|==|--|=====upper===|-- join to upper
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2242
+ def add_run(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2241
+ def add_runs(minmaxes); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2125
+ def append_minmax(min, max); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2035
+ def bsearch_index(num); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2036
+ def bsearch_minmax(num); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2037
+ def bsearch_range(num); end
+
+ # {{{2
+ # Ordered entry methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2007
+ def count_entries; end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2127
+ def delete_run_at(idx); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2011
+ def each_entry_minmax(&block); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2020
+ def each_entry_run(&block); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2056
+ def each_minmax_with_index(minmaxes); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1965
+ def each_number_in_minmax(min, max, &block); end
+
+ # yields validated but unsorted [num] or [num, num]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1987
+ def each_parsed_entry(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1951
+ def export_minmax(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1956
+ def export_minmax_entry(_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1947
+ def export_minmaxes(minmaxes); end
+
+ # {{{2
+ # Export methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1945
+ def export_num(num); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1954
+ def export_run(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1963
+ def export_run_entry(_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1953
+ def export_runs(minmaxes); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2106
+ def freeze_set_data; end
+
+ # {{{2
+ # Import methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1885
+ def import_minmax(input); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1939
+ def import_num(obj); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1929
+ def import_range_minmax(range); end
+
+ # {{{2
+ # Import methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1895
+ def import_run(input); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1897
+ def import_runs(input); end
+
+ # {{{2
+ # Search methods
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2025
+ def include_minmax?(_arg0); end
+
+ # {{{2
+ # Search methods
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2032
+ def include_run?(_arg0); end
+
+ # frozen clones are shallow copied
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1872
+ def initialize_clone(other); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1877
+ def initialize_dup(other); end
+
+ # unlike SequenceSet#try_convert, this returns an Integer, Range,
+ # String, Set, Array, or... any type of object.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1914
+ def input_try_convert(input); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2126
+ def insert_minmax(idx, min, max); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2027
+ def intersect_minmax?(_arg0); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2033
+ def intersect_run?(_arg0); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2117
+ def max_at(idx); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2114
+ def max_num; end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2116
+ def min_at(idx); end
+
+ # {{{2
+ # Core set data query/enumeration primitives
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2113
+ def min_num; end
+
+ # {{{2
+ # Update methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2134
+ def modifying!; end
+
+ # {{{2
+ # Core set data create/freeze/dup primitives
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2105
+ def new_set_data; end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1992
+ def normal_string?(str); end
+
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1994
+ def normalized_entries?(entries); end
+
+ # NOTE: input_try_convert must be called on input first
+ #
+ # @return [Boolean]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1922
+ def number_input?(input); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1940
+ def nz_number(num); end
+
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1981
+ def parse_entry(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1978
+ def parse_minmax(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1979
+ def parse_run(str); end
+
+ # {{{2
+ # Parse methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1977
+ def parse_runs(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1868
+ def remain_frozen(set); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:1869
+ def remain_frozen_empty; end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2124
+ def replace_minmaxes(other); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2066
+ def reverse_each_minmax_with_index(minmaxes); end
+
+ # {{{2
+ # Number indexing methods
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2042
+ def seek_number_in_minmaxes(minmaxes, index); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2123
+ def set_max_at(idx, max); end
+
+ # {{{2
+ # Core set data modification primitives
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2122
+ def set_min_at(idx, min); end
+
+ # @raise [ArgumentError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2075
+ def slice_length(start, length); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2083
+ def slice_range(range); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2128
+ def slice_runs!(*_arg0, **_arg1, &_arg2); end
+
+ # |====subtracted run=======|
+ # --|====| no more 1. noop
+ # --|====|---------------------------|====lower====|-- 2. noop
+ # -------|======lower================|---------------- 3. split
+ # --------|=====lower================|---------------- 4. trim beginning
+ #
+ # -------|======lower====????????????----------------- trim lower
+ # --------|=====lower====????????????----------------- delete lower
+ #
+ # -------??=====lower===============|----------------- 5. trim/delete one
+ # -------??=====lower====|--|====| no more 6. delete rest
+ # -------??=====lower====|--|====|---|====upper====|-- 7. delete until
+ # -------??=====lower====|--|====|--|=====upper====|-- 8. delete and trim
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2205
+ def subtract_minmax(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2147
+ def subtract_minmaxes(minmaxes); end
+
+ # |====subtracted run=======|
+ # --|====| no more 1. noop
+ # --|====|---------------------------|====lower====|-- 2. noop
+ # -------|======lower================|---------------- 3. split
+ # --------|=====lower================|---------------- 4. trim beginning
+ #
+ # -------|======lower====????????????----------------- trim lower
+ # --------|=====lower====????????????----------------- delete lower
+ #
+ # -------??=====lower===============|----------------- 5. trim/delete one
+ # -------??=====lower====|--|====| no more 6. delete rest
+ # -------??=====lower====|--|====|---|====upper====|-- 7. delete until
+ # -------??=====lower====|--|====|--|=====upper====|-- 8. delete and trim
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2244
+ def subtract_run(minmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2243
+ def subtract_runs(minmaxes); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2224
+ def trim_or_delete_minmax(lower_idx, lmin, lmax, tmin, tmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2217
+ def trim_or_split_minmax(idx, lmin, tmin, tmax); end
+
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2129
+ def truncate_runs!(idx); end
+
+ class << self
+ # :call-seq:
+ # SequenceSet[*inputs] -> valid frozen sequence set
+ #
+ # Returns a frozen SequenceSet, constructed from +inputs+.
+ #
+ # When only a single valid frozen SequenceSet is given, that same set is
+ # returned.
+ #
+ # An empty SequenceSet is invalid and will raise a DataFormatError.
+ #
+ # Use ::new to create a mutable or empty SequenceSet.
+ #
+ # Related: ::new, Net::IMAP::SequenceSet(), ::try_convert
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:455
+ def [](first, *rest); end
+
+ # Returns a frozen empty set singleton. Note that valid \IMAP sequence
+ # sets cannot be empty, so this set is _invalid_.
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:485
+ def empty; end
+
+ # Returns a frozen full set singleton: "1:*"
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:488
+ def full; end
+
+ # :call-seq:
+ # SequenceSet.try_convert(obj) -> sequence set or nil
+ #
+ # If +obj+ is a SequenceSet, returns +obj+. If +obj+ responds_to
+ # +to_sequence_set+, calls +obj.to_sequence_set+ and returns the result.
+ # Otherwise returns +nil+.
+ #
+ # If +obj.to_sequence_set+ doesn't return a SequenceSet or +nil+, an
+ # exception is raised.
+ #
+ # Related: Net::IMAP::SequenceSet(), ::new, ::[]
+ #
+ # @raise [DataFormatError]
+ #
+ # pkg:gem/net-imap#lib/net/imap/sequence_set.rb:475
+ def try_convert(obj); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2252
+Net::IMAP::SequenceSet::EMPTY = T.let(T.unsafe(nil), Net::IMAP::SequenceSet)
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2253
+Net::IMAP::SequenceSet::FULL = T.let(T.unsafe(nil), Net::IMAP::SequenceSet)
+
+# {{{2
+# intentionally defined after the class implementation
+#
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:2249
+Net::IMAP::SequenceSet::FULL_SET_DATA = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:436
+Net::IMAP::SequenceSet::INSPECT_ABRIDGED_HEAD_RE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:437
+Net::IMAP::SequenceSet::INSPECT_ABRIDGED_TAIL_RE = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:423
+Net::IMAP::SequenceSet::INSPECT_MAX_LEN = T.let(T.unsafe(nil), Integer)
+
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:424
+Net::IMAP::SequenceSet::INSPECT_TRUNCATE_LEN = T.let(T.unsafe(nil), Integer)
+
+# valid inputs for "*"
+#
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:420
+Net::IMAP::SequenceSet::STARS = T.let(T.unsafe(nil), Array)
+
+# represents "*" internally, to simplify sorting (etc)
+#
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:416
+Net::IMAP::SequenceSet::STAR_INT = T.let(T.unsafe(nil), Integer)
+
+# The largest possible non-zero unsigned 32-bit integer
+#
+# pkg:gem/net-imap#lib/net/imap/sequence_set.rb:413
+Net::IMAP::SequenceSet::UINT32_MAX = T.let(T.unsafe(nil), Integer)
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:218
+module Net::IMAP::StringFormatter
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:245
+ def nstring(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:235
+ def string(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:230
+ def valid_nstring?(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:225
+ def valid_string?(str); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:245
+ def nstring(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:235
+ def string(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:230
+ def valid_nstring?(str); end
+
+ # pkg:gem/net-imap#lib/net/imap/command_data.rb:225
+ def valid_string?(str); end
+ end
+end
+
+# pkg:gem/net-imap#lib/net/imap/command_data.rb:220
+Net::IMAP::StringFormatter::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# Regexps and utility methods for implementing stringprep profiles. The
+# \StringPrep algorithm is defined by
+# {RFC-3454}[https://www.rfc-editor.org/rfc/rfc3454.html]. Each
+# codepoint table defined in the RFC-3454 appendices is matched by a Regexp
+# defined in this module.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep.rb:11
+module Net::IMAP::StringPrep
+ private
+
+ # Checks that +string+ obeys all of the "Bidirectional Characters"
+ # requirements in RFC-3454, §6:
+ #
+ # * The characters in \StringPrep\[\"C.8\"] MUST be prohibited
+ # * If a string contains any RandALCat character, the string MUST NOT
+ # contain any LCat character.
+ # * If a string contains any RandALCat character, a RandALCat
+ # character MUST be the first character of the string, and a
+ # RandALCat character MUST be the last character of the string.
+ #
+ # This is usually combined with #check_prohibited!, so table "C.8" is only
+ # checked when c_8: true.
+ #
+ # Raises either ProhibitedCodepoint or BidiStringError unless all
+ # requirements are met. +profile+ is an optional string which will be
+ # added to any exception that is raised (it does not affect behavior).
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:144
+ def check_bidi!(string, c_8: T.unsafe(nil), profile: T.unsafe(nil)); end
+
+ # Checks +string+ for any codepoint in +tables+. Raises a
+ # ProhibitedCodepoint describing the first matching table.
+ #
+ # Also checks bidirectional characters, when bidi: true, which may
+ # raise a BidiStringError.
+ #
+ # +profile+ is an optional string which will be added to any exception that
+ # is raised (it does not affect behavior).
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:104
+ def check_prohibited!(string, *tables, bidi: T.unsafe(nil), unassigned: T.unsafe(nil), stored: T.unsafe(nil), profile: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:88
+ def map_tables!(string, *tables); end
+
+ # >>>
+ # 1. Map -- For each character in the input, check if it has a mapping
+ # and, if so, replace it with its mapping. This is described in
+ # section 3.
+ #
+ # 2. Normalize -- Possibly normalize the result of step 1 using Unicode
+ # normalization. This is described in section 4.
+ #
+ # 3. Prohibit -- Check for any characters that are not allowed in the
+ # output. If any are found, return an error. This is described in
+ # section 5.
+ #
+ # 4. Check bidi -- Possibly check for right-to-left characters, and if
+ # any are found, make sure that the whole string satisfies the
+ # requirements for bidirectional strings. If the string does not
+ # satisfy the requirements for bidirectional strings, return an
+ # error. This is described in section 6.
+ #
+ # The above steps MUST be performed in the order given to comply with
+ # this specification.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:76
+ def stringprep(string, maps:, normalization:, prohibited:, **opts); end
+
+ class << self
+ # Returns a Regexp matching the given +table+ name.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:49
+ def [](table); end
+
+ # Checks that +string+ obeys all of the "Bidirectional Characters"
+ # requirements in RFC-3454, §6:
+ #
+ # * The characters in \StringPrep\[\"C.8\"] MUST be prohibited
+ # * If a string contains any RandALCat character, the string MUST NOT
+ # contain any LCat character.
+ # * If a string contains any RandALCat character, a RandALCat
+ # character MUST be the first character of the string, and a
+ # RandALCat character MUST be the last character of the string.
+ #
+ # This is usually combined with #check_prohibited!, so table "C.8" is only
+ # checked when c_8: true.
+ #
+ # Raises either ProhibitedCodepoint or BidiStringError unless all
+ # requirements are met. +profile+ is an optional string which will be
+ # added to any exception that is raised (it does not affect behavior).
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:144
+ def check_bidi!(string, c_8: T.unsafe(nil), profile: T.unsafe(nil)); end
+
+ # Checks +string+ for any codepoint in +tables+. Raises a
+ # ProhibitedCodepoint describing the first matching table.
+ #
+ # Also checks bidirectional characters, when bidi: true, which may
+ # raise a BidiStringError.
+ #
+ # +profile+ is an optional string which will be added to any exception that
+ # is raised (it does not affect behavior).
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:104
+ def check_prohibited!(string, *tables, bidi: T.unsafe(nil), unassigned: T.unsafe(nil), stored: T.unsafe(nil), profile: T.unsafe(nil)); end
+
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:88
+ def map_tables!(string, *tables); end
+
+ # >>>
+ # 1. Map -- For each character in the input, check if it has a mapping
+ # and, if so, replace it with its mapping. This is described in
+ # section 3.
+ #
+ # 2. Normalize -- Possibly normalize the result of step 1 using Unicode
+ # normalization. This is described in section 4.
+ #
+ # 3. Prohibit -- Check for any characters that are not allowed in the
+ # output. If any are found, return an error. This is described in
+ # section 5.
+ #
+ # 4. Check bidi -- Possibly check for right-to-left characters, and if
+ # any are found, make sure that the whole string satisfies the
+ # requirements for bidirectional strings. If the string does not
+ # satisfy the requirements for bidirectional strings, return an
+ # error. This is described in section 6.
+ #
+ # The above steps MUST be performed in the order given to comply with
+ # this specification.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:76
+ def stringprep(string, maps:, normalization:, prohibited:, **opts); end
+ end
+end
+
+# StringPrepError raised when +string+ contains bidirectional characters
+# which violate the StringPrep requirements.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep.rb:45
+class Net::IMAP::StringPrep::BidiStringError < ::Net::IMAP::StringPrep::StringPrepError; end
+
+# Defined in RFC3491[https://www.rfc-editor.org/rfc/rfc3491], the +nameprep+
+# profile of "Stringprep" is:
+# >>>
+# used by the IDNA protocol for preparing domain names; it is not
+# designed for any other purpose. It is explicitly not designed for
+# processing arbitrary free text and SHOULD NOT be used for that
+# purpose.
+#
+# ...
+#
+# This profile specifies prohibiting using the following tables...:
+#
+# - C.1.2 (Non-ASCII space characters)
+# - C.2.2 (Non-ASCII control characters)
+# - C.3 (Private use characters)
+# - C.4 (Non-character code points)
+# - C.5 (Surrogate codes)
+# - C.6 (Inappropriate for plain text)
+# - C.7 (Inappropriate for canonical representation)
+# - C.8 (Change display properties are deprecated)
+# - C.9 (Tagging characters)
+#
+# IMPORTANT NOTE: This profile MUST be used with the IDNA protocol.
+# The IDNA protocol has additional prohibitions that are checked
+# outside of this profile.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:32
+module Net::IMAP::StringPrep::NamePrep
+ private
+
+ # pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:54
+ def nameprep(string, **opts); end
+
+ class << self
+ # pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:54
+ def nameprep(string, **opts); end
+ end
+end
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §6
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:50
+Net::IMAP::StringPrep::NamePrep::CHECK_BIDI = T.let(T.unsafe(nil), TrueClass)
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §3
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:41
+Net::IMAP::StringPrep::NamePrep::MAPPING_TABLES = T.let(T.unsafe(nil), Array)
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §4
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:44
+Net::IMAP::StringPrep::NamePrep::NORMALIZATION = T.let(T.unsafe(nil), Symbol)
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §5
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:47
+Net::IMAP::StringPrep::NamePrep::PROHIBITED_TABLES = T.let(T.unsafe(nil), Array)
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §10
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:35
+Net::IMAP::StringPrep::NamePrep::STRINGPREP_PROFILE = T.let(T.unsafe(nil), String)
+
+# From RFC3491[https://www.rfc-editor.org/rfc/rfc3491.html] §2
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/nameprep.rb:38
+Net::IMAP::StringPrep::NamePrep::UNASSIGNED_TABLE = T.let(T.unsafe(nil), String)
+
+# StringPrepError raised when +string+ contains a codepoint prohibited by
+# +table+.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep.rb:31
+class Net::IMAP::StringPrep::ProhibitedCodepoint < ::Net::IMAP::StringPrep::StringPrepError
+ # @return [ProhibitedCodepoint] a new instance of ProhibitedCodepoint
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:34
+ def initialize(table, *args, **kwargs); end
+
+ # Returns the value of attribute table.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:32
+ def table; end
+end
+
+# SASLprep#saslprep can be used to prepare a string according to [RFC4013].
+#
+# \SASLprep maps characters three ways: to nothing, to space, and Unicode
+# normalization form KC. \SASLprep prohibits codepoints from nearly all
+# standard StringPrep tables (RFC3454, Appendix "C"), and uses
+# \StringPrep's standard bidirectional characters requirements (Appendix
+# "D"). \SASLprep also uses \StringPrep's definition of "Unassigned"
+# codepoints (Appendix "A").
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:15
+module Net::IMAP::StringPrep::SASLprep
+ private
+
+ # Prepares a UTF-8 +string+ for comparison, using the \SASLprep profile
+ # RFC4013 of the StringPrep algorithm RFC3454.
+ #
+ # By default, prohibited strings will return +nil+. When +exception+ is
+ # +true+, a StringPrepError describing the violation will be raised.
+ #
+ # When +stored+ is +true+, "unassigned" codepoints will be prohibited.
+ # For \StringPrep and the \SASLprep profile, "unassigned" refers to
+ # Unicode 3.2, and not later versions. See RFC3454 §7 for more
+ # information.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:42
+ def saslprep(str, stored: T.unsafe(nil), exception: T.unsafe(nil)); end
+
+ class << self
+ # Prepares a UTF-8 +string+ for comparison, using the \SASLprep profile
+ # RFC4013 of the StringPrep algorithm RFC3454.
+ #
+ # By default, prohibited strings will return +nil+. When +exception+ is
+ # +true+, a StringPrepError describing the violation will be raised.
+ #
+ # When +stored+ is +true+, "unassigned" codepoints will be prohibited.
+ # For \StringPrep and the \SASLprep profile, "unassigned" refers to
+ # Unicode 3.2, and not later versions. See RFC3454 §7 for more
+ # information.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:42
+ def saslprep(str, stored: T.unsafe(nil), exception: T.unsafe(nil)); end
+ end
+end
+
+# Used to short-circuit strings that don't need preparation.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep.rb:18
+Net::IMAP::StringPrep::SASLprep::ASCII_NO_CTRLS = T.let(T.unsafe(nil), Regexp)
+
+# Bidirectional Characters [StringPrep, §6]
+#
+# A Regexp for strings that don't satisfy StringPrep's Bidirectional
+# Characters rules.
+#
+# Equal to StringPrep::Tables::BIDI_FAILURE.
+# Redefined here to avoid loading StringPrep::Tables unless necessary.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:79
+Net::IMAP::StringPrep::SASLprep::BIDI_FAILURE = T.let(T.unsafe(nil), Regexp)
+
+# RFC4013 §2.1 Mapping - mapped to nothing
+# >>>
+# the "commonly mapped to nothing" characters
+# (\StringPrep\[\"B.1\"]) that can be mapped to nothing.
+#
+# Equal to \StringPrep\[\"B.1\"].
+# Redefined here to avoid loading StringPrep::Tables unless necessary.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:27
+Net::IMAP::StringPrep::SASLprep::MAP_TO_NOTHING = T.let(T.unsafe(nil), Regexp)
+
+# RFC4013 §2.1 Mapping - mapped to space
+# >>>
+# non-ASCII space characters (\StringPrep\[\"C.1.2\"]) that can
+# be mapped to SPACE (U+0020)
+#
+# Equal to \StringPrep\[\"C.1.2\"].
+# Redefined here to avoid loading StringPrep::Tables unless necessary.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:18
+Net::IMAP::StringPrep::SASLprep::MAP_TO_SPACE = T.let(T.unsafe(nil), Regexp)
+
+# A Regexp matching strings prohibited by RFC4013 §2.3 and §2.4.
+#
+# This combines PROHIBITED_OUTPUT and BIDI_FAILURE.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:84
+Net::IMAP::StringPrep::SASLprep::PROHIBITED = T.let(T.unsafe(nil), Regexp)
+
+# A Regexp matching codepoints prohibited by RFC4013 §2.3.
+#
+# This combines all of the TABLES_PROHIBITED tables.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:54
+Net::IMAP::StringPrep::SASLprep::PROHIBITED_OUTPUT = T.let(T.unsafe(nil), Regexp)
+
+# A Regexp matching codepoints prohibited by RFC4013 §2.3 and §2.5.
+#
+# This combines PROHIBITED_OUTPUT and UNASSIGNED.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:68
+Net::IMAP::StringPrep::SASLprep::PROHIBITED_OUTPUT_STORED = T.let(T.unsafe(nil), Regexp)
+
+# A Regexp matching strings prohibited by RFC4013 §2.3, §2.4, and §2.5.
+#
+# This combines PROHIBITED_OUTPUT_STORED and BIDI_FAILURE.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:91
+Net::IMAP::StringPrep::SASLprep::PROHIBITED_STORED = T.let(T.unsafe(nil), Regexp)
+
+# RFC4013 §2.3 Prohibited Output
+# >>>
+# * Non-ASCII space characters — \StringPrep\[\"C.1.2\"]
+# * ASCII control characters — \StringPrep\[\"C.2.1\"]
+# * Non-ASCII control characters — \StringPrep\[\"C.2.2\"]
+# * Private Use characters — \StringPrep\[\"C.3\"]
+# * Non-character code points — \StringPrep\[\"C.4\"]
+# * Surrogate code points — \StringPrep\[\"C.5\"]
+# * Inappropriate for plain text characters — \StringPrep\[\"C.6\"]
+# * Inappropriate for canonical representation characters — \StringPrep\[\"C.7\"]
+# * Change display properties or deprecated characters — \StringPrep\[\"C.8\"]
+# * Tagging characters — \StringPrep\[\"C.9\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:41
+Net::IMAP::StringPrep::SASLprep::TABLES_PROHIBITED = T.let(T.unsafe(nil), Array)
+
+# Adds unassigned (by Unicode 3.2) codepoints to TABLES_PROHIBITED.
+#
+# RFC4013 §2.5 Unassigned Code Points
+# >>>
+# This profile specifies the \StringPrep\[\"A.1\"] table as its
+# list of unassigned code points.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:49
+Net::IMAP::StringPrep::SASLprep::TABLES_PROHIBITED_STORED = T.let(T.unsafe(nil), Array)
+
+# RFC4013 §2.5 Unassigned Code Points
+# >>>
+# This profile specifies the \StringPrep\[\"A.1\"] table as its
+# list of unassigned code points.
+#
+# Equal to \StringPrep\[\"A.1\"].
+# Redefined here to avoid loading StringPrep::Tables unless necessary.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/saslprep_tables.rb:63
+Net::IMAP::StringPrep::SASLprep::UNASSIGNED = T.let(T.unsafe(nil), Regexp)
+
+# ArgumentError raised when +string+ is invalid for the stringprep
+# +profile+.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep.rb:19
+class Net::IMAP::StringPrep::StringPrepError < ::ArgumentError
+ # @return [StringPrepError] a new instance of StringPrepError
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:22
+ def initialize(*args, string: T.unsafe(nil), profile: T.unsafe(nil)); end
+
+ # Returns the value of attribute profile.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:20
+ def profile; end
+
+ # Returns the value of attribute string.
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep.rb:20
+ def string; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:9
+module Net::IMAP::StringPrep::Tables; end
+
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:75
+Net::IMAP::StringPrep::Tables::BIDI_DESC_REQ2 = T.let(T.unsafe(nil), String)
+
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:83
+Net::IMAP::StringPrep::Tables::BIDI_DESC_REQ3 = T.let(T.unsafe(nil), String)
+
+# Bidirectional Characters [StringPrep, §6], Requirement 2
+# >>>
+# If a string contains any RandALCat character, the string MUST NOT
+# contain any LCat character.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:81
+Net::IMAP::StringPrep::Tables::BIDI_FAILS_REQ2 = T.let(T.unsafe(nil), Regexp)
+
+# Bidirectional Characters [StringPrep, §6], Requirement 3
+# >>>
+# If a string contains any RandALCat character, a RandALCat
+# character MUST be the first character of the string, and a
+# RandALCat character MUST be the last character of the string.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:90
+Net::IMAP::StringPrep::Tables::BIDI_FAILS_REQ3 = T.let(T.unsafe(nil), Regexp)
+
+# Bidirectional Characters [StringPrep, §6]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:93
+Net::IMAP::StringPrep::Tables::BIDI_FAILURE = T.let(T.unsafe(nil), Regexp)
+
+# Unassigned code points in Unicode 3.2 \StringPrep\[\"A.1\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:12
+Net::IMAP::StringPrep::Tables::IN_A_1 = T.let(T.unsafe(nil), Regexp)
+
+# Commonly mapped to nothing \StringPrep\[\"B.1\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:15
+Net::IMAP::StringPrep::Tables::IN_B_1 = T.let(T.unsafe(nil), Regexp)
+
+# Mapping for case-folding used with NFKC \StringPrep\[\"B.2\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:18
+Net::IMAP::StringPrep::Tables::IN_B_2 = T.let(T.unsafe(nil), Regexp)
+
+# Mapping for case-folding used with no normalization \StringPrep\[\"B.3\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:21
+Net::IMAP::StringPrep::Tables::IN_B_3 = T.let(T.unsafe(nil), Regexp)
+
+# ASCII space characters \StringPrep\[\"C.1.1\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:33
+Net::IMAP::StringPrep::Tables::IN_C_1_1 = T.let(T.unsafe(nil), Regexp)
+
+# Non-ASCII space characters \StringPrep\[\"C.1.2\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:36
+Net::IMAP::StringPrep::Tables::IN_C_1_2 = T.let(T.unsafe(nil), Regexp)
+
+# ASCII control characters \StringPrep\[\"C.2.1\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:39
+Net::IMAP::StringPrep::Tables::IN_C_2_1 = T.let(T.unsafe(nil), Regexp)
+
+# Non-ASCII control characters \StringPrep\[\"C.2.2\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:42
+Net::IMAP::StringPrep::Tables::IN_C_2_2 = T.let(T.unsafe(nil), Regexp)
+
+# Private use \StringPrep\[\"C.3\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:45
+Net::IMAP::StringPrep::Tables::IN_C_3 = T.let(T.unsafe(nil), Regexp)
+
+# Non-character code points \StringPrep\[\"C.4\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:48
+Net::IMAP::StringPrep::Tables::IN_C_4 = T.let(T.unsafe(nil), Regexp)
+
+# Surrogate codes \StringPrep\[\"C.5\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:51
+Net::IMAP::StringPrep::Tables::IN_C_5 = T.let(T.unsafe(nil), Regexp)
+
+# Inappropriate for plain text \StringPrep\[\"C.6\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:54
+Net::IMAP::StringPrep::Tables::IN_C_6 = T.let(T.unsafe(nil), Regexp)
+
+# Inappropriate for canonical representation \StringPrep\[\"C.7\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:57
+Net::IMAP::StringPrep::Tables::IN_C_7 = T.let(T.unsafe(nil), Regexp)
+
+# Change display properties or are deprecated \StringPrep\[\"C.8\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:60
+Net::IMAP::StringPrep::Tables::IN_C_8 = T.let(T.unsafe(nil), Regexp)
+
+# Tagging characters \StringPrep\[\"C.9\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:63
+Net::IMAP::StringPrep::Tables::IN_C_9 = T.let(T.unsafe(nil), Regexp)
+
+# Characters with bidirectional property "R" or "AL" \StringPrep\[\"D.1\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:66
+Net::IMAP::StringPrep::Tables::IN_D_1 = T.let(T.unsafe(nil), Regexp)
+
+# Used to check req3 of bidirectional checks
+# Matches the negation of the D.1 table
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:70
+Net::IMAP::StringPrep::Tables::IN_D_1_NEGATED = T.let(T.unsafe(nil), Regexp)
+
+# Characters with bidirectional property "L" \StringPrep\[\"D.2\"]
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:73
+Net::IMAP::StringPrep::Tables::IN_D_2 = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:139
+Net::IMAP::StringPrep::Tables::MAPPINGS = T.let(T.unsafe(nil), Hash)
+
+# Replacements for IN_B.1
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:24
+Net::IMAP::StringPrep::Tables::MAP_B_1 = T.let(T.unsafe(nil), String)
+
+# Replacements for IN_B.2
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:27
+Net::IMAP::StringPrep::Tables::MAP_B_2 = T.let(T.unsafe(nil), Hash)
+
+# Replacements for IN_B.3
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:30
+Net::IMAP::StringPrep::Tables::MAP_B_3 = T.let(T.unsafe(nil), Hash)
+
+# Regexps matching each codepoint table in the RFC-3454 appendices
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:119
+Net::IMAP::StringPrep::Tables::REGEXPS = T.let(T.unsafe(nil), Hash)
+
+# Names of each codepoint table in the RFC-3454 appendices
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/tables.rb:96
+Net::IMAP::StringPrep::Tables::TITLES = T.let(T.unsafe(nil), Hash)
+
+# Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The +trace+
+# profile of \StringPrep is used by the +ANONYMOUS+ \SASL mechanism.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:9
+module Net::IMAP::StringPrep::Trace
+ private
+
+ # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
+ # Profile of "Stringprep":
+ # >>>
+ # The character repertoire of this profile is Unicode 3.2 [Unicode].
+ #
+ # No mapping is required by this profile.
+ #
+ # No Unicode normalization is required by this profile.
+ #
+ # The list of unassigned code points for this profile is that provided
+ # in Appendix A of [StringPrep]. Unassigned code points are not
+ # prohibited.
+ #
+ # Characters from the following tables of [StringPrep] are prohibited:
+ # (documented on PROHIBITED_TABLES)
+ #
+ # This profile requires bidirectional character checking per Section 6
+ # of [StringPrep].
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:68
+ def stringprep_trace(string, **opts); end
+
+ class << self
+ # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
+ # Profile of "Stringprep":
+ # >>>
+ # The character repertoire of this profile is Unicode 3.2 [Unicode].
+ #
+ # No mapping is required by this profile.
+ #
+ # No Unicode normalization is required by this profile.
+ #
+ # The list of unassigned code points for this profile is that provided
+ # in Appendix A of [StringPrep]. Unassigned code points are not
+ # prohibited.
+ #
+ # Characters from the following tables of [StringPrep] are prohibited:
+ # (documented on PROHIBITED_TABLES)
+ #
+ # This profile requires bidirectional character checking per Section 6
+ # of [StringPrep].
+ #
+ # pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:68
+ def stringprep_trace(string, **opts); end
+ end
+end
+
+# >>>
+# This profile requires bidirectional character checking per Section 6
+# of [StringPrep].
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:46
+Net::IMAP::StringPrep::Trace::CHECK_BIDI = T.let(T.unsafe(nil), TrueClass)
+
+# >>>
+# No mapping is required by this profile.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:20
+Net::IMAP::StringPrep::Trace::MAPPING_TABLES = T.let(T.unsafe(nil), T.untyped)
+
+# >>>
+# No Unicode normalization is required by this profile.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:24
+Net::IMAP::StringPrep::Trace::NORMALIZATION = T.let(T.unsafe(nil), T.untyped)
+
+# From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
+# Profile of "Stringprep":
+# >>>
+# Characters from the following tables of [StringPrep] are prohibited:
+#
+# - C.2.1 (ASCII control characters)
+# - C.2.2 (Non-ASCII control characters)
+# - C.3 (Private use characters)
+# - C.4 (Non-character code points)
+# - C.5 (Surrogate codes)
+# - C.6 (Inappropriate for plain text)
+# - C.8 (Change display properties are deprecated)
+# - C.9 (Tagging characters)
+#
+# No additional characters are prohibited.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:41
+Net::IMAP::StringPrep::Trace::PROHIBITED_TABLES = T.let(T.unsafe(nil), Array)
+
+# Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3.
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:12
+Net::IMAP::StringPrep::Trace::STRINGPREP_PROFILE = T.let(T.unsafe(nil), String)
+
+# >>>
+# The character repertoire of this profile is Unicode 3.2 [Unicode].
+#
+# pkg:gem/net-imap#lib/net/imap/stringprep/trace.rb:16
+Net::IMAP::StringPrep::Trace::UNASSIGNED_TABLE = T.let(T.unsafe(nil), String)
+
+# Mailbox attribute indicating that this mailbox is used to hold messages
+# that have been deleted or marked for deletion. In some server
+# implementations, this might be a virtual mailbox, containing messages from
+# other mailboxes that are marked with the +\Deleted+ message flag.
+# Alternatively, this might just be advice that a client that chooses not to
+# use the \IMAP +\Deleted+ model should use as its trash location. In server
+# implementations that strictly expect the \IMAP +\Deleted+ model, this
+# special use is likely not to be supported.
+#
+# pkg:gem/net-imap#lib/net/imap/flags.rb:258
+Net::IMAP::TRASH = T.let(T.unsafe(nil), Symbol)
+
+# Net::IMAP::ThreadMember represents a thread-node returned
+# by Net::IMAP#thread.
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:736
+class Net::IMAP::ThreadMember < ::Struct
+ # Returns a SequenceSet containing #seqno and all #children's seqno,
+ # recursively.
+ #
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:752
+ def to_sequence_set; end
+
+ protected
+
+ # pkg:gem/net-imap#lib/net/imap/response_data.rb:758
+ def all_seqnos(node = T.unsafe(nil)); end
+end
+
+# Net::IMAP::UIDFetchData represents the contents of a +UIDFETCH+ response,
+# When the +UIDONLY+ extension has been enabled, Net::IMAP#uid_fetch and
+# Net::IMAP#uid_store will both return an array of UIDFetchData objects.
+#
+# UIDFetchData contains the same message attributes as FetchData. However,
+# +UIDFETCH+ responses return the UID at the beginning of the response,
+# replacing FetchData#seqno. UIDFetchData never contains a message sequence
+# number.
+#
+# See FetchStruct documentation for a list of standard message attributes.
+#
+# pkg:gem/net-imap#lib/net/imap/fetch_data.rb:559
+class Net::IMAP::UIDFetchData < ::Net::IMAP::FetchStruct
+ # UIDFetchData will print a warning if #attr["UID"] is present
+ # but not identical to #uid.
+ #
+ # @return [UIDFetchData] a new instance of UIDFetchData
+ #
+ # pkg:gem/net-imap#lib/net/imap/fetch_data.rb:588
+ def initialize(*_arg0, **_arg1, &_arg2); end
+end
+
+# Error raised upon an unknown response from the server.
+#
+# This is different from InvalidResponseError: the response may be a
+# valid extension response and the server may be allowed to send it in
+# this context, but Net::IMAP either does not know how to parse it or
+# how to handle it. This could result from enabling unknown or
+# unhandled extensions. The connection may still be usable,
+# but—depending on context—it may be prudent to disconnect.
+#
+# pkg:gem/net-imap#lib/net/imap/errors.rb:110
+class Net::IMAP::UnknownResponseError < ::Net::IMAP::ResponseError; end
+
+# **Note:** This represents an intentionally _unstable_ API. Where
+# instances of this class are returned, future releases may return a
+# different (incompatible) object without deprecation or warning.
+#
+# Net::IMAP::UnparsedData represents data for unknown response types or
+# unknown extensions to response types without a well-defined extension
+# grammar.
+#
+# See also: UnparsedNumericResponseData, ExtensionData, IgnoredResponse
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:81
+class Net::IMAP::UnparsedData < ::Struct; end
+
+# **Note:** This represents an intentionally _unstable_ API. Where
+# instances of this class are returned, future releases may return a
+# different (incompatible) object without deprecation or warning.
+#
+# Net::IMAP::UnparsedNumericResponseData represents data for unhandled
+# response types with a numeric prefix. See the documentation for #number.
+#
+# See also: UnparsedData, ExtensionData, IgnoredResponse
+#
+# pkg:gem/net-imap#lib/net/imap/response_data.rb:97
+class Net::IMAP::UnparsedNumericResponseData < ::Struct; end
+
+# pkg:gem/net-imap#lib/net/imap.rb:791
+Net::IMAP::VERSION = T.let(T.unsafe(nil), String)
+
+# Net::IMAP::VanishedData represents the contents of a +VANISHED+ response,
+# which is described by the
+# {QRESYNC}[https://www.rfc-editor.org/rfc/rfc7162.html] extension.
+# [{RFC7162 §3.2.10}[https://www.rfc-editor.org/rfc/rfc7162.html#section-3.2.10]].
+#
+# +VANISHED+ responses replace +EXPUNGE+ responses when either the
+# {QRESYNC}[https://www.rfc-editor.org/rfc/rfc7162.html] or the
+# {UIDONLY}[https://www.rfc-editor.org/rfc/rfc9586.html] extension has been
+# enabled.
+#
+# pkg:gem/net-imap#lib/net/imap/vanished_data.rb:15
+class Net::IMAP::VanishedData < ::Data
+ # Returns a new VanishedData object.
+ #
+ # * +uids+ will be converted by SequenceSet.[].
+ # * +earlier+ will be converted to +true+ or +false+
+ #
+ # @return [VanishedData] a new instance of VanishedData
+ #
+ # pkg:gem/net-imap#lib/net/imap/vanished_data.rb:21
+ def initialize(uids:, earlier:); end
+
+ # Yields each UID in #uids and returns +self+. Returns an Enumerator when
+ # no block is given.
+ #
+ # See SequenceSet#each_number.
+ #
+ # pkg:gem/net-imap#lib/net/imap/vanished_data.rb:58
+ def each(&_arg0); end
+
+ # rdoc doesn't handle attr aliases nicely. :(
+ #
+ # pkg:gem/net-imap#lib/net/imap/vanished_data.rb:43
+ def earlier?; end
+
+ # Returns an Array of all of the UIDs in #uids.
+ #
+ # See SequenceSet#numbers.
+ #
+ # pkg:gem/net-imap#lib/net/imap/vanished_data.rb:52
+ def to_a; end
+end
+
+# pkg:gem/net-imap#lib/net/imap/authenticators.rb:35
+Net::IMAP::XOauth2Authenticator = Net::IMAP::SASL::XOAuth2Authenticator
diff --git a/sorbet/rbi/gems/net-smtp@0.5.0.rbi b/sorbet/rbi/gems/net-smtp@0.5.1.rbi
similarity index 100%
rename from sorbet/rbi/gems/net-smtp@0.5.0.rbi
rename to sorbet/rbi/gems/net-smtp@0.5.1.rbi
diff --git a/sorbet/rbi/gems/nio4r@2.7.4.rbi b/sorbet/rbi/gems/nio4r@2.7.5.rbi
similarity index 100%
rename from sorbet/rbi/gems/nio4r@2.7.4.rbi
rename to sorbet/rbi/gems/nio4r@2.7.5.rbi
diff --git a/sorbet/rbi/gems/rails@8.1.1.rbi b/sorbet/rbi/gems/rails@8.1.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/rails@8.1.1.rbi
rename to sorbet/rbi/gems/rails@8.1.2.rbi
diff --git a/sorbet/rbi/gems/railties@8.1.1.rbi b/sorbet/rbi/gems/railties@8.1.2.rbi
similarity index 99%
rename from sorbet/rbi/gems/railties@8.1.1.rbi
rename to sorbet/rbi/gems/railties@8.1.2.rbi
index eecea0056..b56122799 100644
--- a/sorbet/rbi/gems/railties@8.1.1.rbi
+++ b/sorbet/rbi/gems/railties@8.1.2.rbi
@@ -3717,7 +3717,7 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base
# pkg:gem/railties#lib/rails/generators/app_base.rb:647
def css_gemfile_entry; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:810
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:823
def database; end
# pkg:gem/railties#lib/rails/generators/app_base.rb:287
@@ -3753,22 +3753,22 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base
# pkg:gem/railties#lib/rails/generators/app_base.rb:566
def dockerfile_bun_version; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:801
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:814
def dockerfile_chown_directories; end
# pkg:gem/railties#lib/rails/generators/app_base.rb:558
def dockerfile_yarn_version; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:797
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:810
def edge_branch; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:770
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:783
def empty_directory_with_keep_file(destination, config = T.unsafe(nil)); end
# pkg:gem/railties#lib/rails/generators/app_base.rb:154
def gemfile_entries; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:783
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:796
def git_init_command; end
# pkg:gem/railties#lib/rails/generators/app_base.rb:511
@@ -3812,7 +3812,7 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base
# pkg:gem/railties#lib/rails/generators/app_base.rb:766
def jruby?; end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:775
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:788
def keep_file(destination); end
# @return [Boolean]
@@ -3955,7 +3955,7 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base
# pkg:gem/railties#lib/rails/generators/app_base.rb:684
def target_rails_prerelease(self_command = T.unsafe(nil)); end
- # pkg:gem/railties#lib/rails/generators/app_base.rb:779
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:792
def user_default_branch; end
# @return [Boolean]
@@ -3978,6 +3978,9 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base
# pkg:gem/railties#lib/rails/generators/app_base.rb:531
def using_node?; end
+ # pkg:gem/railties#lib/rails/generators/app_base.rb:770
+ def version_manager_ruby_version; end
+
# pkg:gem/railties#lib/rails/generators/app_base.rb:295
def web_server_gemfile_entry; end
@@ -5816,10 +5819,26 @@ end
# pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:6
module Rails::LineFiltering
- # pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:7
+ class << self
+ # @private
+ #
+ # pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:7
+ def extended(obj); end
+ end
+end
+
+# pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:18
+module Rails::LineFiltering::MT5
+ # pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:19
def run(reporter, options = T.unsafe(nil)); end
end
+# pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:26
+module Rails::LineFiltering::MT6
+ # pkg:gem/railties#lib/rails/test_unit/line_filtering.rb:27
+ def run_suite(reporter, options = T.unsafe(nil)); end
+end
+
# pkg:gem/railties#lib/rails/mailers_controller.rb:6
class Rails::MailersController < ::Rails::ApplicationController
# pkg:gem/railties#lib/rails/mailers_controller.rb:22
@@ -6623,19 +6642,19 @@ end
class Rails::SourceAnnotationExtractor
# @return [SourceAnnotationExtractor] a new instance of SourceAnnotationExtractor
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:154
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:158
def initialize(tag); end
# Prints the mapping from filenames to annotations in +results+ ordered by filename.
# The +options+ hash is passed to each annotation's +to_s+.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:203
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:207
def display(results, options = T.unsafe(nil)); end
# Returns a hash that maps filenames under +dirs+ (recursively) to arrays
# with their annotations.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:160
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:164
def find(dirs); end
# Returns a hash that maps filenames under +dir+ (recursively) to arrays
@@ -6643,12 +6662,12 @@ class Rails::SourceAnnotationExtractor
# Rails::SourceAnnotationExtractor::Annotation.extensions are
# taken into account. Only files with annotations are included.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:168
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:172
def find_in(dir); end
# Returns the value of attribute tag.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:152
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:156
def tag; end
class << self
@@ -6667,7 +6686,7 @@ class Rails::SourceAnnotationExtractor
#
# This class method is the single entry point for the rails notes command.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:145
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:149
def enumerate(tag = T.unsafe(nil), options = T.unsafe(nil)); end
end
end
@@ -6681,7 +6700,7 @@ class Rails::SourceAnnotationExtractor::Annotation < ::Struct
# If +options+ has a flag :tag the tag is shown as in the example above.
# Otherwise the string contains just line and text.
#
- # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:124
+ # pkg:gem/railties#lib/rails/source_annotation_extractor.rb:128
def to_s(options = T.unsafe(nil)); end
class << self
diff --git a/sorbet/rbi/gems/websocket-driver@0.7.6.rbi b/sorbet/rbi/gems/websocket-driver@0.8.0.rbi
similarity index 94%
rename from sorbet/rbi/gems/websocket-driver@0.7.6.rbi
rename to sorbet/rbi/gems/websocket-driver@0.8.0.rbi
index e68d26b82..181f445fd 100644
--- a/sorbet/rbi/gems/websocket-driver@0.7.6.rbi
+++ b/sorbet/rbi/gems/websocket-driver@0.8.0.rbi
@@ -17,19 +17,19 @@ class WebSocket::Driver
# pkg:gem/websocket-driver#lib/websocket/driver.rb:72
def initialize(socket, options = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:90
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:92
def add_extension(extension); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:123
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:125
def binary(message); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:135
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:137
def close(reason = T.unsafe(nil), code = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:127
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:129
def ping(*args); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:131
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:133
def pong(*args); end
# Returns the value of attribute protocol.
@@ -42,54 +42,54 @@ class WebSocket::Driver
# pkg:gem/websocket-driver#lib/websocket/driver.rb:70
def ready_state; end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:94
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:96
def set_header(name, value); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:100
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:102
def start; end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:85
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:87
def state; end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:118
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:120
def text(message); end
private
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:156
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:158
def fail(type, message); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:144
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:146
def fail_handshake(error); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:162
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:164
def open; end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:169
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:171
def queue(message); end
class << self
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:174
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:176
def client(socket, options = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:198
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:200
def encode(data, encoding = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:213
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:216
def host_header(uri); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:182
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:184
def rack(socket, options = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:178
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:180
def server(socket, options = T.unsafe(nil)); end
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:221
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:224
def validate_options(options, valid_keys); end
# @return [Boolean]
#
- # pkg:gem/websocket-driver#lib/websocket/driver.rb:229
+ # pkg:gem/websocket-driver#lib/websocket/driver.rb:238
def websocket?(env); end
end
end
@@ -375,34 +375,34 @@ class WebSocket::Driver::Hybi < ::WebSocket::Driver
private
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:336
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:338
def check_frame_length; end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:347
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:349
def emit_frame(buffer); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:395
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:397
def emit_message; end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:270
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:272
def fail(type, message); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:232
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:234
def handshake_response; end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:325
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:327
def parse_extended_length(buffer); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:308
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:310
def parse_length(octet); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:275
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:277
def parse_opcode(octet); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:196
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:198
def send_frame(frame); end
- # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:258
+ # pkg:gem/websocket-driver#lib/websocket/driver/hybi.rb:260
def shutdown(code, reason, error = T.unsafe(nil)); end
class << self