diff --git a/Gemfile.lock b/Gemfile.lock index d0791cf47..21a576230 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -209,7 +209,7 @@ GEM loofah (2.25.2) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.9.0) + mail (2.9.1) logger mini_mime (>= 0.1.1) net-imap @@ -231,12 +231,12 @@ GEM mutex_m (0.3.0) net-http (0.9.1) uri (>= 0.11.1) - net-imap (0.6.4.1) + net-imap (0.6.6) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.2) + net-protocol (0.3.0) timeout net-smtp (0.5.1) net-protocol @@ -547,7 +547,7 @@ CHECKSUMS lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918 - mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941 + mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8 marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1 @@ -556,9 +556,9 @@ CHECKSUMS minitest-reporters (1.8.0) sha256=8ce5280fb73ad3178ae525454df169b6f28c1b38b1d088ea91815d3a370ba384 mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751 net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996 - net-imap (0.6.4.1) sha256=29f0360d75a7efd3539f16ac1957dea5c0a51ddeceb348db4553c3120914ea0d + net-imap (0.6.6) sha256=96aa4ee50df3060203e649efc341f53480b791d49e150f2fdebf68beb141a8df net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 - net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 + net-protocol (0.3.0) sha256=ba310c3d4f1cad46bb1ab20336b06669b1ff8f7c568d9cb9342b32a718547472 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 netrc (0.11.0) sha256=de1ce33da8c99ab1d97871726cba75151113f117146becbe45aa85cb3dabee3f nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1 diff --git a/sorbet/rbi/gems/mail@2.9.0.rbi b/sorbet/rbi/gems/mail@2.9.1.rbi similarity index 99% rename from sorbet/rbi/gems/mail@2.9.0.rbi rename to sorbet/rbi/gems/mail@2.9.1.rbi index a21ffa4d2..a1dd861b8 100644 --- a/sorbet/rbi/gems/mail@2.9.0.rbi +++ b/sorbet/rbi/gems/mail@2.9.1.rbi @@ -8240,10 +8240,10 @@ module Mail::Utilities # pkg:gem/mail#lib/mail/utilities.rb:377 def has_constant?(klass, string); end - # pkg:gem/mail#lib/mail/utilities.rb:455 + # pkg:gem/mail#lib/mail/utilities.rb:465 def param_decode(str, encoding); end - # pkg:gem/mail#lib/mail/utilities.rb:464 + # pkg:gem/mail#lib/mail/utilities.rb:474 def param_encode(str); end # pkg:gem/mail#lib/mail/utilities.rb:349 @@ -8256,19 +8256,19 @@ 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:480 + # pkg:gem/mail#lib/mail/utilities.rb:490 def pick_encoding(charset); end - # pkg:gem/mail#lib/mail/utilities.rb:436 + # pkg:gem/mail#lib/mail/utilities.rb:440 def q_value_decode(str); end - # pkg:gem/mail#lib/mail/utilities.rb:431 + # pkg:gem/mail#lib/mail/utilities.rb:435 def q_value_encode(str, encoding = T.unsafe(nil)); end # pkg:gem/mail#lib/mail/utilities.rb:251 def safe_for_line_ending_conversion?(string); end - # pkg:gem/mail#lib/mail/utilities.rb:540 + # pkg:gem/mail#lib/mail/utilities.rb:550 def string_byteslice(str, *args); end # Convert line endings to \r\n unless the string is binary. Used for @@ -8287,15 +8287,15 @@ module Mail::Utilities # 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:470 + # pkg:gem/mail#lib/mail/utilities.rb:480 def uri_parser; end private - # pkg:gem/mail#lib/mail/utilities.rb:547 + # pkg:gem/mail#lib/mail/utilities.rb:557 def convert_to_encoding(encoding); end - # pkg:gem/mail#lib/mail/utilities.rb:560 + # pkg:gem/mail#lib/mail/utilities.rb:570 def transcode_to_scrubbed_utf8(str); end end end diff --git a/sorbet/rbi/gems/net-imap@0.6.4.1.rbi b/sorbet/rbi/gems/net-imap@0.6.6.rbi similarity index 97% rename from sorbet/rbi/gems/net-imap@0.6.4.1.rbi rename to sorbet/rbi/gems/net-imap@0.6.6.rbi index 873dfddf8..a21ecd167 100644 --- a/sorbet/rbi/gems/net-imap@0.6.4.1.rbi +++ b/sorbet/rbi/gems/net-imap@0.6.6.rbi @@ -308,6 +308,11 @@ # # In general, #capable? should be used rather than explicitly sending a # +CAPABILITY+ command to the server. +# - #enable: Enables backwards incompatible server extensions. +# Requires the +ENABLE+ or +IMAP4rev2+ capability. +# - #enabled: Returns a set of enabled server extensions. +# - #enabled?: Returns whether a server extension has been enabled. +# - #utf8_enabled?: Returns whether UTF-8 string encoding has been enabled. # # === Handling server responses # @@ -534,6 +539,7 @@ # ==== RFC6855: UTF8=ACCEPT, UTF8=ONLY # # - See #enable for information about support for UTF-8 string encoding. +# - #utf8_enabled?: Returns whether UTF-8 string encoding has been enabled. # # ==== RFC7162: +CONDSTORE+ # @@ -794,7 +800,7 @@ # * {IMAP URLAUTH Access Identifiers and Prefixes}[https://www.iana.org/assignments/urlauth-access-ids/urlauth-access-ids.xhtml] # * {IMAP URLAUTH Authorization Mechanism Registry}[https://www.iana.org/assignments/urlauth-authorization-mechanism-registry/urlauth-authorization-mechanism-registry.xhtml] # -# pkg:gem/net-imap#lib/net/imap.rb:815 +# pkg:gem/net-imap#lib/net/imap.rb:821 class Net::IMAP < ::Net::Protocol include ::Net::IMAP::DeprecatedClientOptions include ::MonitorMixin @@ -910,7 +916,7 @@ class Net::IMAP < ::Net::Protocol # [Net::IMAP::ByeResponseError] # Connected to the host successfully, but it immediately said goodbye. # - # pkg:gem/net-imap#lib/net/imap.rb:1103 + # pkg:gem/net-imap#lib/net/imap.rb:1114 def initialize(host, port_or_options = T.unsafe(nil), *deprecated, **options); end # Adds a response handler. For example, to detect when @@ -931,7 +937,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #remove_response_handler, #response_handlers # - # pkg:gem/net-imap#lib/net/imap.rb:3451 + # pkg:gem/net-imap#lib/net/imap.rb:3503 def add_response_handler(handler = T.unsafe(nil), &block); end # Sends an {APPEND command [IMAP4rev1 §6.3.11]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.11] @@ -971,7 +977,7 @@ class Net::IMAP < ::Net::Protocol # TODO: add MULTIAPPEND support # ++ # - # pkg:gem/net-imap#lib/net/imap.rb:2137 + # pkg:gem/net-imap#lib/net/imap.rb:2149 def append(mailbox, message, flags = T.unsafe(nil), date_time = T.unsafe(nil)); end # Returns whether the server supports a given SASL +mechanism+ for use with @@ -986,7 +992,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #authenticate, #auth_mechanisms, #capable?, #capabilities # - # pkg:gem/net-imap#lib/net/imap.rb:1290 + # pkg:gem/net-imap#lib/net/imap.rb:1302 def auth_capable?(mechanism); end # Returns the #authenticate mechanisms that the server claims to support. @@ -1010,7 +1016,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #authenticate, #auth_capable?, #capabilities # - # pkg:gem/net-imap#lib/net/imap.rb:1273 + # pkg:gem/net-imap#lib/net/imap.rb:1285 def auth_mechanisms; end # :call-seq: @@ -1124,7 +1130,7 @@ class Net::IMAP < ::Net::Protocol # completes. If the TaggedResponse to #authenticate includes updated # capabilities, they will be cached. # - # pkg:gem/net-imap#lib/net/imap.rb:1594 + # pkg:gem/net-imap#lib/net/imap.rb:1606 def authenticate(*args, sasl_ir: T.unsafe(nil), **props, &callback); end # Returns the server capabilities. When available, cached capabilities are @@ -1139,7 +1145,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #capable?, #auth_capable?, #auth_mechanisms, #capability, #enable # - # pkg:gem/net-imap#lib/net/imap.rb:1249 + # pkg:gem/net-imap#lib/net/imap.rb:1261 def capabilities; end # Returns whether capabilities have been cached. When true, #capable? and @@ -1149,7 +1155,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #capable?, #capability, #clear_cached_capabilities # - # pkg:gem/net-imap#lib/net/imap.rb:1300 + # pkg:gem/net-imap#lib/net/imap.rb:1312 def capabilities_cached?; end # Sends a {CAPABILITY command [IMAP4rev1 §6.1.1]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.1.1] @@ -1171,10 +1177,10 @@ class Net::IMAP < ::Net::Protocol # # Related: #capable?, #auth_capable?, #capability, #enable # - # pkg:gem/net-imap#lib/net/imap.rb:1338 + # pkg:gem/net-imap#lib/net/imap.rb:1350 def capability; end - # pkg:gem/net-imap#lib/net/imap.rb:1236 + # pkg:gem/net-imap#lib/net/imap.rb:1248 def capability?(capability); end # Returns whether the server supports a given +capability+. When available, @@ -1188,7 +1194,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #auth_capable?, #capabilities, #capability, #enable # - # pkg:gem/net-imap#lib/net/imap.rb:1235 + # pkg:gem/net-imap#lib/net/imap.rb:1247 def capable?(capability); end # Sends a {CHECK command [IMAP4rev1 §6.4.1]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.4.1] @@ -1198,7 +1204,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #idle, #noop # - # pkg:gem/net-imap#lib/net/imap.rb:2152 + # pkg:gem/net-imap#lib/net/imap.rb:2164 def check; end # Clears capabilities that have been remembered by the Net::IMAP client. @@ -1211,7 +1217,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #capable?, #capability, #capabilities_cached? # - # pkg:gem/net-imap#lib/net/imap.rb:1313 + # pkg:gem/net-imap#lib/net/imap.rb:1325 def clear_cached_capabilities; end # :call-seq: @@ -1226,7 +1232,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #extract_responses, #responses, #response_handlers # - # pkg:gem/net-imap#lib/net/imap.rb:3380 + # pkg:gem/net-imap#lib/net/imap.rb:3432 def clear_responses(type = T.unsafe(nil)); end # Sends a {CLOSE command [IMAP4rev1 §6.4.2]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.4.2] @@ -1236,7 +1242,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #unselect # - # pkg:gem/net-imap#lib/net/imap.rb:2162 + # pkg:gem/net-imap#lib/net/imap.rb:2174 def close; end # The client configuration. See Net::IMAP::Config. @@ -1244,7 +1250,7 @@ class Net::IMAP < ::Net::Protocol # By default, the client's local configuration inherits from the global # Net::IMAP.config. # - # pkg:gem/net-imap#lib/net/imap.rb:886 + # pkg:gem/net-imap#lib/net/imap.rb:897 def config; end # Returns the current connection state. @@ -1307,7 +1313,7 @@ class Net::IMAP < ::Net::Protocol # Before the server greeting, the state is +not_authenticated+. # After the connection closes, the state remains +logout+. # - # pkg:gem/net-imap#lib/net/imap.rb:991 + # pkg:gem/net-imap#lib/net/imap.rb:1002 def connection_state; end # Sends a {COPY command [IMAP4rev1 §6.4.7]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.4.7] @@ -1328,7 +1334,7 @@ class Net::IMAP < ::Net::Protocol # When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled, the # +COPY+ command is prohibited. Use #uid_copy instead. # - # pkg:gem/net-imap#lib/net/imap.rb:2902 + # pkg:gem/net-imap#lib/net/imap.rb:2914 def copy(set, mailbox); end # Sends a {CREATE command [IMAP4rev1 §6.3.3]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.3] @@ -1339,7 +1345,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #rename, #delete # - # pkg:gem/net-imap#lib/net/imap.rb:1705 + # pkg:gem/net-imap#lib/net/imap.rb:1717 def create(mailbox); end # Sends a {DELETE command [IMAP4rev1 §6.3.4]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.4] @@ -1351,7 +1357,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #create, #rename # - # pkg:gem/net-imap#lib/net/imap.rb:1717 + # pkg:gem/net-imap#lib/net/imap.rb:1729 def delete(mailbox); end # Disconnects from the server. @@ -1359,17 +1365,18 @@ class Net::IMAP < ::Net::Protocol # Waits for receiver thread to close before returning, except when called # from inside the connection mutex such as from a response handler. Slow or # stuck response handlers can cause #disconnect to hang until they complete. + # Use +timeout+ to limit how long to wait for the receiver thread to exit. # # Related: #logout, #logout! # - # pkg:gem/net-imap#lib/net/imap.rb:1198 - def disconnect; end + # pkg:gem/net-imap#lib/net/imap.rb:1210 + def disconnect(timeout: T.unsafe(nil)); end # Returns true if disconnected from the server. # # Related: #logout, #disconnect # - # pkg:gem/net-imap#lib/net/imap.rb:1221 + # pkg:gem/net-imap#lib/net/imap.rb:1233 def disconnected?; end # Sends an {ENABLE command [RFC5161 §3.2]}[https://www.rfc-editor.org/rfc/rfc5161#section-3.1] @@ -1467,9 +1474,28 @@ class Net::IMAP < ::Net::Protocol # # Caution is advised. # - # pkg:gem/net-imap#lib/net/imap.rb:3153 + # pkg:gem/net-imap#lib/net/imap.rb:3165 def enable(*capabilities); end + # Returns a set of enabled capabilities for the connection, as upper-cased + # strings. + # + # See #enable and #enabled?. + # + # pkg:gem/net-imap#lib/net/imap.rb:3213 + def enabled; end + + # Returns whether +capability+ is in the set of #enabled capabilities, + # matched case-insensitively. + # + # When +capability+ is +:utf8+, it matches if _either_ + # "UTF8=ACCEPT" or "IMAP4REV2" is enabled. + # + # See #enable and #utf8_enabled?. + # + # pkg:gem/net-imap#lib/net/imap.rb:3194 + def enabled?(capability); end + # Sends a {EXAMINE command [IMAP4rev1 §6.3.2]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.2] # to select a +mailbox+ so that messages in the +mailbox+ can be accessed. # Behaves the same as #select, except that the selected +mailbox+ is @@ -1480,7 +1506,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #select # - # pkg:gem/net-imap#lib/net/imap.rb:1687 + # pkg:gem/net-imap#lib/net/imap.rb:1699 def examine(mailbox, condstore: T.unsafe(nil)); end # call-seq: @@ -1510,7 +1536,7 @@ class Net::IMAP < ::Net::Protocol # returns VanishedData, which contains UIDs---not message sequence # numbers. # - # pkg:gem/net-imap#lib/net/imap.rb:2210 + # pkg:gem/net-imap#lib/net/imap.rb:2222 def expunge; end # :call-seq: @@ -1525,7 +1551,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #responses, #clear_responses # - # pkg:gem/net-imap#lib/net/imap.rb:3404 + # pkg:gem/net-imap#lib/net/imap.rb:3456 def extract_responses(type); end # :call-seq: @@ -1586,7 +1612,7 @@ class Net::IMAP < ::Net::Protocol # When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled, the # +FETCH+ command is prohibited. Use #uid_fetch instead. # - # pkg:gem/net-imap#lib/net/imap.rb:2744 + # pkg:gem/net-imap#lib/net/imap.rb:2756 def fetch(*_arg0, **_arg1, &_arg2); end # Sends a {GETACL command [RFC4314 §3.3]}[https://www.rfc-editor.org/rfc/rfc4314#section-3.3] @@ -1600,7 +1626,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +ACL+ # [RFC4314[https://www.rfc-editor.org/rfc/rfc4314]]. # - # pkg:gem/net-imap#lib/net/imap.rb:2009 + # pkg:gem/net-imap#lib/net/imap.rb:2021 def getacl(mailbox); end # Sends a {GETQUOTA command [RFC2087 §4.2]}[https://www.rfc-editor.org/rfc/rfc2087#section-4.2] @@ -1623,7 +1649,7 @@ class Net::IMAP < ::Net::Protocol # {[RFC9208]}[https://www.rfc-editor.org/rfc/rfc9208] for each supported # resource type. # - # pkg:gem/net-imap#lib/net/imap.rb:1943 + # pkg:gem/net-imap#lib/net/imap.rb:1955 def getquota(quota_root); end # Sends a {GETQUOTAROOT command [RFC2087 §4.3]}[https://www.rfc-editor.org/rfc/rfc2087#section-4.3] @@ -1644,17 +1670,17 @@ class Net::IMAP < ::Net::Protocol # {[RFC9208]}[https://www.rfc-editor.org/rfc/rfc9208] for each supported # resource type. # - # pkg:gem/net-imap#lib/net/imap.rb:1914 + # pkg:gem/net-imap#lib/net/imap.rb:1926 def getquotaroot(mailbox); end # Returns the initial greeting sent by the server, an UntaggedResponse. # - # pkg:gem/net-imap#lib/net/imap.rb:880 + # pkg:gem/net-imap#lib/net/imap.rb:891 def greeting; end # The hostname this client connected to # - # pkg:gem/net-imap#lib/net/imap.rb:912 + # pkg:gem/net-imap#lib/net/imap.rb:923 def host; end # Sends an {ID command [RFC2971 §3.1]}[https://www.rfc-editor.org/rfc/rfc2971#section-3.1] @@ -1680,7 +1706,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +ID+ # [RFC2971[https://www.rfc-editor.org/rfc/rfc2971]]. # - # pkg:gem/net-imap#lib/net/imap.rb:1367 + # pkg:gem/net-imap#lib/net/imap.rb:1379 def id(client_id = T.unsafe(nil)); end # Sends an {IDLE command [RFC2177 §3]}[https://www.rfc-editor.org/rfc/rfc6851#section-3] @@ -1713,7 +1739,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include either +IMAP4rev2+ or +IDLE+ # [RFC2177[https://www.rfc-editor.org/rfc/rfc2177]]. # - # pkg:gem/net-imap#lib/net/imap.rb:3198 + # pkg:gem/net-imap#lib/net/imap.rb:3246 def idle(timeout = T.unsafe(nil), &response_handler); end # Leaves IDLE, allowing #idle to return. @@ -1724,10 +1750,10 @@ class Net::IMAP < ::Net::Protocol # # Related: #idle # - # pkg:gem/net-imap#lib/net/imap.rb:3235 + # pkg:gem/net-imap#lib/net/imap.rb:3287 def idle_done; end - # pkg:gem/net-imap#lib/net/imap.rb:906 + # pkg:gem/net-imap#lib/net/imap.rb:917 def idle_response_timeout; end # Returns a string representation of +self+, showing basic client state @@ -1751,7 +1777,7 @@ class Net::IMAP < ::Net::Protocol # imap.starttls verify_mode: OpenSSL::SSL::VERIFY_NONE # imap.inspect #=> "#" # - # pkg:gem/net-imap#lib/net/imap.rb:1169 + # pkg:gem/net-imap#lib/net/imap.rb:1180 def inspect; end # Sends a {LIST command [IMAP4rev1 §6.3.8]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.8] @@ -1785,7 +1811,7 @@ class Net::IMAP < ::Net::Protocol # TODO: support LIST-EXTENDED extension [RFC5258]. Needed for IMAP4rev2. # ++ # - # pkg:gem/net-imap#lib/net/imap.rb:1789 + # pkg:gem/net-imap#lib/net/imap.rb:1801 def list(refname, mailbox); end # Sends a {LOGIN command [IMAP4rev1 §6.2.3]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.2.3] @@ -1814,7 +1840,7 @@ class Net::IMAP < ::Net::Protocol # The TaggedResponse to #login may include updated capabilities in its # ResponseCode. # - # pkg:gem/net-imap#lib/net/imap.rb:1626 + # pkg:gem/net-imap#lib/net/imap.rb:1638 def login(user, password); end # Sends a {LOGOUT command [IMAP4rev1 §6.1.3]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.1.3] @@ -1823,7 +1849,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #disconnect, #logout! # - # pkg:gem/net-imap#lib/net/imap.rb:1395 + # pkg:gem/net-imap#lib/net/imap.rb:1407 def logout; end # Calls #logout then, after receiving the TaggedResponse for the +LOGOUT+, @@ -1840,7 +1866,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #logout, #disconnect # - # pkg:gem/net-imap#lib/net/imap.rb:1412 + # pkg:gem/net-imap#lib/net/imap.rb:1424 def logout!; end # Sends a {LSUB command [IMAP4rev1 §6.3.9]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.9] @@ -1852,13 +1878,13 @@ class Net::IMAP < ::Net::Protocol # # Related: #subscribe, #unsubscribe, #list, MailboxList # - # pkg:gem/net-imap#lib/net/imap.rb:2024 + # pkg:gem/net-imap#lib/net/imap.rb:2036 def lsub(refname, mailbox); end - # pkg:gem/net-imap#lib/net/imap.rb:907 + # pkg:gem/net-imap#lib/net/imap.rb:918 def max_response_size; end - # pkg:gem/net-imap#lib/net/imap.rb:908 + # pkg:gem/net-imap#lib/net/imap.rb:919 def max_response_size=(val); end # Sends a {MOVE command [RFC6851 §3.1]}[https://www.rfc-editor.org/rfc/rfc6851#section-3.1] @@ -1883,7 +1909,7 @@ class Net::IMAP < ::Net::Protocol # When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled, the # +MOVE+ command is prohibited. Use #uid_move instead. # - # pkg:gem/net-imap#lib/net/imap.rb:2943 + # pkg:gem/net-imap#lib/net/imap.rb:2955 def move(set, mailbox); end # Sends a {NAMESPACE command [RFC2342 §5]}[https://www.rfc-editor.org/rfc/rfc2342#section-5] @@ -1937,7 +1963,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include either +IMAP4rev2+ or +NAMESPACE+ # [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]]. # - # pkg:gem/net-imap#lib/net/imap.rb:1846 + # pkg:gem/net-imap#lib/net/imap.rb:1858 def namespace; end # Sends a {NOOP command [IMAP4rev1 §6.1.2]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.1.2] @@ -1953,24 +1979,24 @@ class Net::IMAP < ::Net::Protocol # # Related: #idle, #check # - # pkg:gem/net-imap#lib/net/imap.rb:1386 + # pkg:gem/net-imap#lib/net/imap.rb:1398 def noop; end # :stopdoc: # - # pkg:gem/net-imap#lib/net/imap.rb:905 + # pkg:gem/net-imap#lib/net/imap.rb:916 def open_timeout; end # The port this client connected to # - # pkg:gem/net-imap#lib/net/imap.rb:915 + # pkg:gem/net-imap#lib/net/imap.rb:926 def port; end # Removes the response handler. # # Related: #add_response_handler, #response_handlers # - # pkg:gem/net-imap#lib/net/imap.rb:3461 + # pkg:gem/net-imap#lib/net/imap.rb:3513 def remove_response_handler(handler); end # Sends a {RENAME command [IMAP4rev1 §6.3.5]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.5] @@ -1983,7 +2009,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #create, #delete # - # pkg:gem/net-imap#lib/net/imap.rb:1730 + # pkg:gem/net-imap#lib/net/imap.rb:1742 def rename(mailbox, newname); end # Returns all response handlers, including those that are added internally @@ -2000,7 +2026,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #add_response_handler, #remove_response_handler # - # pkg:gem/net-imap#lib/net/imap.rb:3430 + # pkg:gem/net-imap#lib/net/imap.rb:3482 def response_handlers; end # :call-seq: @@ -2099,7 +2125,7 @@ class Net::IMAP < ::Net::Protocol # return the TaggedResponse directly, #add_response_handler must be used to # handle all response codes. # - # pkg:gem/net-imap#lib/net/imap.rb:3346 + # pkg:gem/net-imap#lib/net/imap.rb:3398 def responses(type = T.unsafe(nil)); end # :call-seq: @@ -2514,7 +2540,7 @@ class Net::IMAP < ::Net::Protocol # When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled, # the +SEARCH+ command is prohibited. Use #uid_search instead. # - # pkg:gem/net-imap#lib/net/imap.rb:2655 + # pkg:gem/net-imap#lib/net/imap.rb:2667 def search(*_arg0, **_arg1, &_arg2); end # Sends a {SELECT command [IMAP4rev1 §6.3.1]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.1] @@ -2551,7 +2577,7 @@ class Net::IMAP < ::Net::Protocol # imap.select("mbox", condstore: true) # modseq = imap.responses("HIGHESTMODSEQ", &:last) # - # pkg:gem/net-imap#lib/net/imap.rb:1667 + # pkg:gem/net-imap#lib/net/imap.rb:1679 def select(mailbox, condstore: T.unsafe(nil)); end # Sends a {SETACL command [RFC4314 §3.1]}[https://www.rfc-editor.org/rfc/rfc4314#section-3.1] @@ -2566,7 +2592,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +ACL+ # [RFC4314[https://www.rfc-editor.org/rfc/rfc4314]]. # - # pkg:gem/net-imap#lib/net/imap.rb:1991 + # pkg:gem/net-imap#lib/net/imap.rb:2003 def setacl(mailbox, user, rights); end # Sends a {SETQUOTA command [RFC2087 §4.1]}[https://www.rfc-editor.org/rfc/rfc2087#section-4.1] @@ -2591,7 +2617,7 @@ class Net::IMAP < ::Net::Protocol # {[RFC9208]}[https://www.rfc-editor.org/rfc/rfc9208] for each supported # resource type. # - # pkg:gem/net-imap#lib/net/imap.rb:1971 + # pkg:gem/net-imap#lib/net/imap.rb:1983 def setquota(quota_root, storage_limit); end # Sends a {SORT command [RFC5256 §3]}[https://www.rfc-editor.org/rfc/rfc5256#section-3] @@ -2619,7 +2645,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +SORT+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]]. # - # pkg:gem/net-imap#lib/net/imap.rb:2993 + # pkg:gem/net-imap#lib/net/imap.rb:3005 def sort(sort_keys, search_keys, charset); end # Returns the @@ -2629,7 +2655,7 @@ class Net::IMAP < ::Net::Protocol # # Returns +nil+ for a plaintext connection. # - # pkg:gem/net-imap#lib/net/imap.rb:923 + # pkg:gem/net-imap#lib/net/imap.rb:934 def ssl_ctx; end # Returns the parameters that were sent to #ssl_ctx @@ -2638,7 +2664,7 @@ class Net::IMAP < ::Net::Protocol # # Returns +false+ for a plaintext connection. # - # pkg:gem/net-imap#lib/net/imap.rb:930 + # pkg:gem/net-imap#lib/net/imap.rb:941 def ssl_ctx_params; end # Sends a {STARTTLS command [IMAP4rev1 §6.2.1]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.2.1] @@ -2675,7 +2701,7 @@ class Net::IMAP < ::Net::Protocol # Server capabilities may change after #starttls, #login, and #authenticate. # Cached #capabilities will be cleared when this method completes. # - # pkg:gem/net-imap#lib/net/imap.rb:1456 + # pkg:gem/net-imap#lib/net/imap.rb:1468 def starttls(*deprecated, **options); end # Sends a {STATUS command [IMAP4rev1 §6.3.10]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.10] @@ -2742,7 +2768,7 @@ class Net::IMAP < ::Net::Protocol # +MAILBOXID+ requires the server's capabilities to include +OBJECTID+ # {[RFC8474]}[https://www.rfc-editor.org/rfc/rfc8474.html]. # - # pkg:gem/net-imap#lib/net/imap.rb:2094 + # pkg:gem/net-imap#lib/net/imap.rb:2106 def status(mailbox, attr); end # :call-seq: @@ -2792,7 +2818,7 @@ class Net::IMAP < ::Net::Protocol # When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled, the # +STORE+ command is prohibited. Use #uid_store instead. # - # pkg:gem/net-imap#lib/net/imap.rb:2858 + # pkg:gem/net-imap#lib/net/imap.rb:2870 def store(set, attr, flags, unchangedsince: T.unsafe(nil)); end # Sends a {SUBSCRIBE command [IMAP4rev1 §6.3.6]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.6] @@ -2804,7 +2830,7 @@ class Net::IMAP < ::Net::Protocol # # Related: #unsubscribe, #lsub, #list # - # pkg:gem/net-imap#lib/net/imap.rb:1742 + # pkg:gem/net-imap#lib/net/imap.rb:1754 def subscribe(mailbox); end # Sends a {THREAD command [RFC5256 §3]}[https://www.rfc-editor.org/rfc/rfc5256#section-3] @@ -2831,14 +2857,14 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +THREAD+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]]. # - # pkg:gem/net-imap#lib/net/imap.rb:3037 + # pkg:gem/net-imap#lib/net/imap.rb:3049 def thread(algorithm, search_keys, charset); end # Returns true after the TLS negotiation has completed and the remote # hostname has been verified. Returns false when TLS has been established # but peer verification was disabled. # - # pkg:gem/net-imap#lib/net/imap.rb:1189 + # pkg:gem/net-imap#lib/net/imap.rb:1200 def tls_verified?; end # Sends a {UID COPY command [IMAP4rev1 §6.4.8]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.4.8] @@ -2854,7 +2880,7 @@ class Net::IMAP < ::Net::Protocol # # Otherwise, #uid_copy is updated by extensions in the same way as #copy. # - # pkg:gem/net-imap#lib/net/imap.rb:2918 + # pkg:gem/net-imap#lib/net/imap.rb:2930 def uid_copy(set, mailbox); end # call-seq: @@ -2884,7 +2910,7 @@ class Net::IMAP < ::Net::Protocol # Otherwise, #uid_expunge is updated by extensions in the same way as # #expunge. # - # pkg:gem/net-imap#lib/net/imap.rb:2240 + # pkg:gem/net-imap#lib/net/imap.rb:2252 def uid_expunge(uid_set); end # :call-seq: @@ -2948,7 +2974,7 @@ class Net::IMAP < ::Net::Protocol # # Otherwise, #uid_fetch is updated by extensions in the same way as #fetch. # - # pkg:gem/net-imap#lib/net/imap.rb:2808 + # pkg:gem/net-imap#lib/net/imap.rb:2820 def uid_fetch(*_arg0, **_arg1, &_arg2); end # Sends a {UID MOVE command [RFC6851 §3.2]}[https://www.rfc-editor.org/rfc/rfc6851#section-3.2] @@ -2970,7 +2996,7 @@ class Net::IMAP < ::Net::Protocol # # Otherwise, #uid_move is updated by extensions in the same way as #move. # - # pkg:gem/net-imap#lib/net/imap.rb:2965 + # pkg:gem/net-imap#lib/net/imap.rb:2977 def uid_move(set, mailbox); end # :call-seq: @@ -2998,7 +3024,7 @@ class Net::IMAP < ::Net::Protocol # Otherwise, #uid_search is updated by extensions in the same way as # #search. # - # pkg:gem/net-imap#lib/net/imap.rb:2683 + # pkg:gem/net-imap#lib/net/imap.rb:2695 def uid_search(*_arg0, **_arg1, &_arg2); end # Sends a {UID SORT command [RFC5256 §3]}[https://www.rfc-editor.org/rfc/rfc5256#section-3] @@ -3015,7 +3041,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +SORT+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]]. # - # pkg:gem/net-imap#lib/net/imap.rb:3010 + # pkg:gem/net-imap#lib/net/imap.rb:3022 def uid_sort(sort_keys, search_keys, charset); end # :call-seq: @@ -3038,7 +3064,7 @@ class Net::IMAP < ::Net::Protocol # # Otherwise, #uid_store is updated by extensions in the same way as #store. # - # pkg:gem/net-imap#lib/net/imap.rb:2881 + # pkg:gem/net-imap#lib/net/imap.rb:2893 def uid_store(set, attr, flags, unchangedsince: T.unsafe(nil)); end # Sends a {UID THREAD command [RFC5256 §3]}[https://www.rfc-editor.org/rfc/rfc5256#section-3] @@ -3055,7 +3081,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include +THREAD+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]]. # - # pkg:gem/net-imap#lib/net/imap.rb:3054 + # pkg:gem/net-imap#lib/net/imap.rb:3066 def uid_thread(algorithm, search_keys, charset); end # Sends an {UNSELECT command [RFC3691 §2]}[https://www.rfc-editor.org/rfc/rfc3691#section-3] @@ -3071,7 +3097,7 @@ class Net::IMAP < ::Net::Protocol # The server's capabilities must include either +IMAP4rev2+ or +UNSELECT+ # [RFC3691[https://www.rfc-editor.org/rfc/rfc3691]]. # - # pkg:gem/net-imap#lib/net/imap.rb:2179 + # pkg:gem/net-imap#lib/net/imap.rb:2191 def unselect; end # Sends an {UNSUBSCRIBE command [IMAP4rev1 §6.3.7]}[https://www.rfc-editor.org/rfc/rfc3501#section-6.3.7] @@ -3084,9 +3110,18 @@ class Net::IMAP < ::Net::Protocol # # Related: #subscribe, #lsub, #list # - # pkg:gem/net-imap#lib/net/imap.rb:1755 + # pkg:gem/net-imap#lib/net/imap.rb:1767 def unsubscribe(mailbox); end + # Returns whether UTF-8 string encoding has been enabled for the connection. + # + # This is currently identical to calling #enabled? with +:utf8+. + # + # See #enable and #enabled?. + # + # pkg:gem/net-imap#lib/net/imap.rb:3185 + def utf8_enabled?; end + # Sends a XLIST command, and returns a subset of names from # the complete set of all names available to the client. # +refname+ provides a context (for instance, a base directory @@ -3125,121 +3160,147 @@ class Net::IMAP < ::Net::Protocol # unless the SPECIAL-USE return option is supplied. # ++ # - # pkg:gem/net-imap#lib/net/imap.rb:1890 + # pkg:gem/net-imap#lib/net/imap.rb:1902 def xlist(refname, mailbox); end private - # pkg:gem/net-imap#lib/net/imap.rb:3913 + # pkg:gem/net-imap#lib/net/imap.rb:3994 def build_ssl_ctx(ssl); end # NOTE: only call this for greeting, login, and authenticate # - # pkg:gem/net-imap#lib/net/imap.rb:3638 + # pkg:gem/net-imap#lib/net/imap.rb:3662 def capabilities_from_resp_code(resp); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:133 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:146 def capable_literal_minus?; end - # pkg:gem/net-imap#lib/net/imap.rb:3895 + # pkg:gem/net-imap#lib/net/imap.rb:3976 def coerce_search_arg_to_seqset?(obj); end - # pkg:gem/net-imap#lib/net/imap.rb:3904 + # pkg:gem/net-imap#lib/net/imap.rb:3985 def coerce_search_array_arg_to_seqset?(obj); end - # pkg:gem/net-imap#lib/net/imap.rb:3777 + # pkg:gem/net-imap#lib/net/imap.rb:3858 def convert_return_opts(unconverted); end - # pkg:gem/net-imap#lib/net/imap.rb:3864 + # pkg:gem/net-imap#lib/net/imap.rb:3945 def copy_internal(cmd, set, mailbox); end - # pkg:gem/net-imap#lib/net/imap.rb:3715 + # pkg:gem/net-imap#lib/net/imap.rb:3796 def enforce_logindisabled?; end - # pkg:gem/net-imap#lib/net/imap.rb:3723 + # pkg:gem/net-imap#lib/net/imap.rb:3804 def expunge_internal(*_arg0, **_arg1, &_arg2); end - # pkg:gem/net-imap#lib/net/imap.rb:3818 + # pkg:gem/net-imap#lib/net/imap.rb:3899 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:3695 + # NOTE: This must be synchronized with sending the command's final CRLF and + # adding any command-related response handlers. + # + # pkg:gem/net-imap#lib/net/imap.rb:3710 + def finish_sending_command(command); end + + # pkg:gem/net-imap#lib/net/imap.rb:3776 def generate_tag; end - # pkg:gem/net-imap#lib/net/imap.rb:3614 + # pkg:gem/net-imap#lib/net/imap.rb:3597 def get_response; end - # pkg:gem/net-imap#lib/net/imap.rb:3484 + # pkg:gem/net-imap#lib/net/imap.rb:3536 def get_server_greeting; end - # pkg:gem/net-imap#lib/net/imap.rb:3586 + # pkg:gem/net-imap#lib/net/imap.rb:3716 def get_tagged_response(tag, cmd, timeout = T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap.rb:3685 - def guard_against_tagged_response_skipping_handler!(tag, cmd); end + # built-in response handlers + # + # pkg:gem/net-imap#lib/net/imap.rb:3607 + def handle_response(resp); end - # pkg:gem/net-imap#lib/net/imap.rb:1176 + # pkg:gem/net-imap#lib/net/imap.rb:1187 def inspect_tls_state; end - # pkg:gem/net-imap#lib/net/imap.rb:3719 + # pkg:gem/net-imap#lib/net/imap.rb:3800 def may_depend_on_capabilities_cached?(value); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:121 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:134 def non_sync_literal?(bytesize); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:126 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:139 def non_sync_literal_allowed?(bytesize); end - # pkg:gem/net-imap#lib/net/imap.rb:3884 + # pkg:gem/net-imap#lib/net/imap.rb:3965 def normalize_searching_criteria(criteria); end - # pkg:gem/net-imap#lib/net/imap.rb:3700 + # pkg:gem/net-imap#lib/net/imap.rb:3781 def put_string(str); end - # pkg:gem/net-imap#lib/net/imap.rb:3513 + # pkg:gem/net-imap#lib/net/imap.rb:3565 def receive_responses; end # store name => [..., data] # - # pkg:gem/net-imap#lib/net/imap.rb:3625 + # pkg:gem/net-imap#lib/net/imap.rb:3649 def record_untagged_response(resp); end # store code.name => [..., code.data] # - # pkg:gem/net-imap#lib/net/imap.rb:3631 + # pkg:gem/net-imap#lib/net/imap.rb:3655 def record_untagged_response_code(resp); end - # pkg:gem/net-imap#lib/net/imap.rb:3977 + # Raises a copy of +exception+ with an updated +backtrace+ and +cause+, or + # returns +nil+ when +exception+ is falsey. + # + # +backtrace+ is set to reflect the current caller. + # + # +cause+ is set to the original exception, _if_ the original has its own + # backtrace or cause. Otherwise, the original was never raised and the + # default cause is used. + # + # This is meant for exceptions that may have been created by another thread. + # Raising them directly gives a misleading backtrace, making it hard to + # discover where the errors originate. Although it is sometimes more + # appropriate to raise a wrapping exception, that changes the API and forces + # updates to users' `rescue` pattern matching. + # + # pkg:gem/net-imap#lib/net/imap.rb:3758 + def reraise(exception); end + + # pkg:gem/net-imap#lib/net/imap.rb:4058 def sasl_adapter; end - # pkg:gem/net-imap#lib/net/imap.rb:3743 + # pkg:gem/net-imap#lib/net/imap.rb:3824 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:3792 + # pkg:gem/net-imap#lib/net/imap.rb:3873 def search_internal(cmd, *_arg1, **_arg2, &_arg3); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:82 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:96 def send_binary_literal(*_arg0, **_arg1); end - # pkg:gem/net-imap#lib/net/imap.rb:3659 + # pkg:gem/net-imap#lib/net/imap.rb:3683 def send_command(cmd, *args, &block); end - # pkg:gem/net-imap#lib/net/imap.rb:3853 + # pkg:gem/net-imap#lib/net/imap.rb:3934 def send_command_returning_fetch_results(*_arg0, **_arg1, &_arg2); end # Calls send_command, yielding the text of each ContinuationRequest and # responding with each block result. Returns TaggedResponse. Raises # NoResponseError or BadResponseError. # - # pkg:gem/net-imap#lib/net/imap.rb:3650 + # pkg:gem/net-imap#lib/net/imap.rb:3674 def send_command_with_continuations(cmd, *args); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:37 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:40 def send_data(data, tag = T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:154 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:167 def send_date_data(date); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:140 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:153 def send_list_data(list, tag = T.unsafe(nil)); end # `non_sync` is an optional tri-state flag: @@ -3249,59 +3310,73 @@ class Net::IMAP < ::Net::Protocol # * `false` -> Force normal synchronizing literal behavior. # * `nil` -> (default) Currently behaves like `false` (will be dynamic). # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:90 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:104 def send_literal(str, tag = T.unsafe(nil), binary: T.unsafe(nil), non_sync: T.unsafe(nil)); end # NOTE: +num+ should already be an Integer # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:136 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:149 def send_number_data(num); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:80 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:94 def send_quoted_string(str); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:58 + # Sends generic strings formatted as +astring+: + # * as an atom (note: this is based on +ASTRING-CHAR+, not +ATOM-CHAR+) + # * as a quoted string + # * as a literal (may send non-synchronizing) + # + # NOTE: This does not validate that +str+ contains no +NULL+ bytes. + # + # pkg:gem/net-imap#lib/net/imap/command_data.rb:71 def send_string_data(str, tag = T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:155 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:168 def send_time_data(time); end - # pkg:gem/net-imap#lib/net/imap.rb:3868 + # pkg:gem/net-imap#lib/net/imap.rb:3949 def sort_internal(cmd, sort_keys, search_keys, charset); end - # pkg:gem/net-imap#lib/net/imap.rb:3473 + # pkg:gem/net-imap#lib/net/imap.rb:3525 def start_imap_connection; end - # pkg:gem/net-imap#lib/net/imap.rb:3495 + # pkg:gem/net-imap#lib/net/imap.rb:3547 def start_receiver_thread; end - # pkg:gem/net-imap#lib/net/imap.rb:3925 + # pkg:gem/net-imap#lib/net/imap.rb:4006 def start_tls_session; end - # pkg:gem/net-imap#lib/net/imap.rb:3940 + # pkg:gem/net-imap#lib/net/imap.rb:4021 def state_authenticated!(resp = T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap.rb:3959 + # pkg:gem/net-imap#lib/net/imap.rb:4040 def state_logout!; end - # pkg:gem/net-imap#lib/net/imap.rb:3947 + # pkg:gem/net-imap#lib/net/imap.rb:4028 def state_selected!; end - # pkg:gem/net-imap#lib/net/imap.rb:3953 + # pkg:gem/net-imap#lib/net/imap.rb:4034 def state_unselected!; end - # pkg:gem/net-imap#lib/net/imap.rb:3845 + # pkg:gem/net-imap#lib/net/imap.rb:3926 def store_internal(cmd, set, attr, flags, unchangedsince: T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap.rb:3504 + # pkg:gem/net-imap#lib/net/imap.rb:3556 def tcp_socket(host, port); end - # pkg:gem/net-imap#lib/net/imap.rb:3876 + # Encodable as +text+ (which is a superset of +quoted+): + # * ASCII only (for any ASCII compatible encoding) + # * or valid UTF-8 (when the connection supports it) + # + # pkg:gem/net-imap#lib/net/imap/command_data.rb:88 + def text_encodable?(str); end + + # pkg:gem/net-imap#lib/net/imap.rb:3957 def thread_internal(cmd, algorithm, search_keys, charset); end # don't wait to aqcuire the lock # - # pkg:gem/net-imap#lib/net/imap.rb:3968 + # pkg:gem/net-imap#lib/net/imap.rb:4049 def try_state_logout?; end # pkg:gem/net-imap#lib/net/imap/command_data.rb:14 @@ -3321,24 +3396,24 @@ class Net::IMAP < ::Net::Protocol # # Related: SequenceSet.try_convert, SequenceSet.new, SequenceSet::[] # - # pkg:gem/net-imap#lib/net/imap.rb:846 + # pkg:gem/net-imap#lib/net/imap.rb:857 def SequenceSet(set = T.unsafe(nil)); end # Returns the global Config object # - # pkg:gem/net-imap#lib/net/imap.rb:851 + # pkg:gem/net-imap#lib/net/imap.rb:862 def config; end # Returns the global debug mode. # Delegates to {Net::IMAP.config.debug}[rdoc-ref:Config#debug]. # - # pkg:gem/net-imap#lib/net/imap.rb:855 + # pkg:gem/net-imap#lib/net/imap.rb:866 def debug; end # Sets the global debug mode. # Delegates to {Net::IMAP.config.debug=}[rdoc-ref:Config#debug=]. # - # pkg:gem/net-imap#lib/net/imap.rb:859 + # pkg:gem/net-imap#lib/net/imap.rb:870 def debug=(val); end # :call-seq: decode_date(string) -> Date @@ -3386,23 +3461,23 @@ class Net::IMAP < ::Net::Protocol # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:57 def decode_utf7(s); end - # pkg:gem/net-imap#lib/net/imap.rb:874 + # pkg:gem/net-imap#lib/net/imap.rb:885 def default_imap_port; end - # pkg:gem/net-imap#lib/net/imap.rb:875 + # pkg:gem/net-imap#lib/net/imap.rb:886 def default_imaps_port; end # The default port for IMAP connections, port 143 # - # pkg:gem/net-imap#lib/net/imap.rb:864 + # pkg:gem/net-imap#lib/net/imap.rb:875 def default_port; end - # pkg:gem/net-imap#lib/net/imap.rb:876 + # pkg:gem/net-imap#lib/net/imap.rb:887 def default_ssl_port; end # The default port for IMAPS connections, port 993 # - # pkg:gem/net-imap#lib/net/imap.rb:869 + # pkg:gem/net-imap#lib/net/imap.rb:880 def default_tls_port; end # Formats +time+ as an IMAP4 date. @@ -3458,7 +3533,7 @@ class Net::IMAP < ::Net::Protocol # ++ # Delegates to Net::IMAP::StringPrep::SASLprep#saslprep. # - # pkg:gem/net-imap#lib/net/imap.rb:3987 + # pkg:gem/net-imap#lib/net/imap.rb:4068 def saslprep(string, **opts); end end end @@ -3479,6 +3554,9 @@ Net::IMAP::ALL = T.let(T.unsafe(nil), Symbol) # pkg:gem/net-imap#lib/net/imap/flags.rb:224 Net::IMAP::ARCHIVE = T.let(T.unsafe(nil), Symbol) +# pkg:gem/net-imap#lib/net/imap/command_data.rb:62 +Net::IMAP::ASTRING_SPECIALS = T.let(T.unsafe(nil), Regexp) + # >>> # *NOTE:* AppendUIDData replaced UIDPlusData for +APPENDUID+ in the # +0.6.0+ release. To use AppendUIDData before +0.6.0+, set @@ -3507,15 +3585,27 @@ class Net::IMAP::AppendUIDData < ::Data def size; end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:274 +# Please note that +ATOM-CHAR+ and +atom+ are not the same as +ASTRING-char+ +# and the atom form of +astring+. +astring+ allows ], but +atom+ +# does not. +# +# Generic string arguments in Net::IMAP use +astring+, so they will send as +# atoms even if they contain ]. +# +# This class is used by: +# * to validate generic symbol arguments, as the superclass of Flag +# * to validate #enable +capabilities+ +# * to validate #store (and #uid_store) +attr+ +# +# pkg:gem/net-imap#lib/net/imap/command_data.rb:301 class Net::IMAP::Atom < ::Net::IMAP::CommandData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:275 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:302 def initialize(**_arg0); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:289 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:316 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:280 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:307 def validate; end end @@ -3680,48 +3770,73 @@ class Net::IMAP::BodyTypeText < ::Struct def multipart?; end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:377 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:404 class Net::IMAP::ClientID < ::Net::IMAP::CommandData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:379 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:406 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:383 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:410 def validate; end private - # pkg:gem/net-imap#lib/net/imap/command_data.rb:399 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:426 def format_internal(client_id); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:389 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:416 def validate_internal(client_id); end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:157 +# NOTE: Currently for internal use only. The API is expected to change. +# +# pkg:gem/net-imap#lib/net/imap/command_data.rb:171 +class Net::IMAP::Command < ::Data + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def name; end + + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def tag; end + + class << self + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def [](*_arg0); end + + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def inspect; end + + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def members; end + + # pkg:gem/net-imap#lib/net/imap/command_data.rb:171 + def new(*_arg0); end + end +end + +# pkg:gem/net-imap#lib/net/imap/command_data.rb:173 class Net::IMAP::CommandData < ::Data - # pkg:gem/net-imap#lib/net/imap/command_data.rb:157 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:173 def data; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:164 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:180 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:168 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:184 def validate; end class << self - # pkg:gem/net-imap#lib/net/imap/command_data.rb:157 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:173 def [](*_arg0); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:157 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:173 def inspect; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:157 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:173 def members; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:157 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:173 def new(*_arg0); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:158 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:174 def validate(*_arg0, **_arg1, &_arg2); end end end @@ -4868,9 +4983,14 @@ module Net::IMAP::DeprecatedClientOptions def create_ssl_params(certs = T.unsafe(nil), verify = T.unsafe(nil)); end end +# Aliases for supported capabilities, to be used with #enabled?. +# +# pkg:gem/net-imap#lib/net/imap.rb:831 +Net::IMAP::ENABLED_ALIASES = T.let(T.unsafe(nil), Hash) + # Aliases for supported capabilities, to be used with the #enable command. # -# pkg:gem/net-imap#lib/net/imap.rb:819 +# pkg:gem/net-imap#lib/net/imap.rb:825 Net::IMAP::ENABLE_ALIASES = T.let(T.unsafe(nil), Hash) # An "extended search" response (+ESEARCH+). ESearchResult should be @@ -5598,9 +5718,9 @@ class Net::IMAP::FetchStruct < ::Struct def section_attr(attr, part = T.unsafe(nil), text = T.unsafe(nil), offset: T.unsafe(nil)); end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:294 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:321 class Net::IMAP::Flag < ::Net::IMAP::Atom - # pkg:gem/net-imap#lib/net/imap/command_data.rb:295 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:322 def send_data(imap, tag); end end @@ -5703,16 +5823,73 @@ class Net::IMAP::InvalidParseData < ::Data; end # # 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 +# sending it in the current context. +# +# This could be caused by a bug in the server or in Net::IMAP. Or it +# might indicate a malicious server, a man-in-the-middle attack, or +# client-side command injection. So 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:288 +# pkg:gem/net-imap#lib/net/imap/errors.rb:292 class Net::IMAP::InvalidResponseError < ::Net::IMAP::Error; end +# Error raised when the server sends a tagged #response that is invalid for +# the #command #state. +# +# This could be caused by a bug in the server or in Net::IMAP. Or it +# might indicate a malicious server, a man-in-the-middle attack, or +# client-side command injection, so the client should disconnect +# automatically and abruptly (without logout). +# +# pkg:gem/net-imap#lib/net/imap/errors.rb:302 +class Net::IMAP::InvalidTaggedResponseError < ::Net::IMAP::InvalidResponseError + # pkg:gem/net-imap#lib/net/imap/errors.rb:333 + def initialize(state, response:, command: T.unsafe(nil)); end + + # Metadata about the matching IMAP command. + # + # Returns +nil+ when #state is +:unknown+. + # + # NOTE: The non-nil return type is an unstable API, for debug only. It + # may be changed by any release, without warning or deprecation. + # + # pkg:gem/net-imap#lib/net/imap/errors.rb:328 + def command; end + + # pkg:gem/net-imap#lib/net/imap/errors.rb:347 + def detailed_message(**_arg0); end + + # The TaggedResponse which triggered this error + # + # pkg:gem/net-imap#lib/net/imap/errors.rb:331 + def response; end + + # A symbol representing the state of the matching tagged command. + # + # +:unknown+:: + # #response does not match any known command (#command will be +nil+). + # +:unstarted+:: + # Any tagged #response is invalid before #command starts sending. + # +:incomplete+:: + # A tagged +OK+ #response is invalid before #command is fully sent. + # +:completed+:: + # Multiple tagged responses were received for the same command. + # + # NOTE: Command state is neither anticipated nor remembered indefinitely. + # +:unknown+ is used before the matching command is called and after the + # it is forgotten. + # + # NOTE: This version of Net::IMAP does not detect or raise an exception + # for all of these states. + # + # pkg:gem/net-imap#lib/net/imap/errors.rb:320 + def state; end +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 @@ -5721,34 +5898,34 @@ class Net::IMAP::InvalidResponseError < ::Net::IMAP::Error; end # 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:309 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:336 class Net::IMAP::Literal < ::Data - # pkg:gem/net-imap#lib/net/imap/command_data.rb:316 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:343 def initialize(data:, non_sync: T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:323 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:350 def bytesize; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:332 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:359 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:325 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:352 def validate; end class << self - # pkg:gem/net-imap#lib/net/imap/command_data.rb:310 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:337 def validate(*_arg0, **_arg1, &_arg2); end end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:337 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:364 class Net::IMAP::Literal8 < ::Net::IMAP::Literal # all bytes are okay # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:340 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:367 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:338 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:365 def validate; end end @@ -6072,28 +6249,28 @@ Net::IMAP::NumValidator::NUMBER_RE = T.let(T.unsafe(nil), Regexp) # pkg:gem/net-imap#lib/net/imap/data_encoding.rb:159 Net::IMAP::NumValidator::NZ_NUMBER_RE = T.let(T.unsafe(nil), Regexp) -# pkg:gem/net-imap#lib/net/imap/command_data.rb:345 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:372 class Net::IMAP::PartialRange < ::Net::IMAP::CommandData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:352 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:379 def initialize(data:); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:370 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:397 def formatted; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:372 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:399 def send_data(imap, tag); end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:348 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:375 Net::IMAP::PartialRange::NEG_RANGE = T.let(T.unsafe(nil), Range) -# pkg:gem/net-imap#lib/net/imap/command_data.rb:350 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:377 Net::IMAP::PartialRange::Negative = T.let(T.unsafe(nil), Proc) -# pkg:gem/net-imap#lib/net/imap/command_data.rb:347 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:374 Net::IMAP::PartialRange::POS_RANGE = T.let(T.unsafe(nil), Range) -# pkg:gem/net-imap#lib/net/imap/command_data.rb:349 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:376 Net::IMAP::PartialRange::Positive = T.let(T.unsafe(nil), Proc) # Represents a IMAP +quoted+ string, which can encode any valid ASCII or @@ -6102,9 +6279,9 @@ Net::IMAP::PartialRange::Positive = T.let(T.unsafe(nil), Proc) # NOTE: The current implementation does not verify that the connection # supports UTF-8. Future versions may validate this. # -# pkg:gem/net-imap#lib/net/imap/command_data.rb:305 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:332 class Net::IMAP::QuotedString < ::Net::IMAP::ValidNonLiteralData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:306 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:333 def formatted; end end @@ -6113,27 +6290,27 @@ end # 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:3244 +# pkg:gem/net-imap#lib/net/imap.rb:3296 Net::IMAP::RESPONSES_DEPRECATION_MSG = T.let(T.unsafe(nil), String) -# pkg:gem/net-imap#lib/net/imap/errors.rb:302 +# pkg:gem/net-imap#lib/net/imap/errors.rb:367 Net::IMAP::RESPONSE_ERRORS = T.let(T.unsafe(nil), Hash) -# pkg:gem/net-imap#lib/net/imap.rb:3740 +# pkg:gem/net-imap#lib/net/imap.rb:3821 Net::IMAP::RETURN_START = T.let(T.unsafe(nil), Regexp) -# pkg:gem/net-imap#lib/net/imap.rb:3739 +# pkg:gem/net-imap#lib/net/imap.rb:3820 Net::IMAP::RETURN_WHOLE = T.let(T.unsafe(nil), Regexp) -# pkg:gem/net-imap#lib/net/imap/command_data.rb:224 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:240 class Net::IMAP::RawData < ::Net::IMAP::CommandData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:225 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:241 def initialize(data:); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:236 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:252 def send_data(imap, tag); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:238 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:254 def validate; end class << self @@ -6142,12 +6319,12 @@ class Net::IMAP::RawData < ::Net::IMAP::CommandData # NOTE: unlike RawData#validate, this does not prevent the final RawText # from ending with a literal prefix. # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:249 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:265 def split(data); end private - # pkg:gem/net-imap#lib/net/imap/command_data.rb:263 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:279 def extract_literal(data, binary:, bytesize:, non_sync:); end end end @@ -6158,11 +6335,11 @@ end # NOTE: The current implementation does not verify that the connection # supports UTF-8. Future versions may validate this. # -# pkg:gem/net-imap#lib/net/imap/command_data.rb:220 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:236 class Net::IMAP::RawText < ::Net::IMAP::ValidNonLiteralData # raw: no formatting necessary # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:221 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:237 def formatted; end end @@ -12638,60 +12815,60 @@ Net::IMAP::SequenceSet::STAR_INT = T.let(T.unsafe(nil), 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:408 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:435 module Net::IMAP::StringFormatter private - # pkg:gem/net-imap#lib/net/imap/command_data.rb:414 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:441 def literal_or_literal8(input, name: T.unsafe(nil)); end # coerces non-nil using +to_s+ # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:443 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:470 def nstring(str); end # coerces using +to_s+ # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:433 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:460 def string(str); end # Allows nil, symbols, and strings # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:428 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:455 def valid_nstring?(str); end # Allows symbols in addition to strings # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:423 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:450 def valid_string?(str); end class << self - # pkg:gem/net-imap#lib/net/imap/command_data.rb:414 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:441 def literal_or_literal8(input, name: T.unsafe(nil)); end # coerces non-nil using +to_s+ # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:443 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:470 def nstring(str); end # coerces using +to_s+ # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:433 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:460 def string(str); end # Allows nil, symbols, and strings # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:428 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:455 def valid_nstring?(str); end # Allows symbols in addition to strings # - # pkg:gem/net-imap#lib/net/imap/command_data.rb:423 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:450 def valid_string?(str); end end end -# pkg:gem/net-imap#lib/net/imap/command_data.rb:410 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:437 Net::IMAP::StringFormatter::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp) # Regexps and utility methods for implementing stringprep profiles. The @@ -12702,9 +12879,6 @@ Net::IMAP::StringFormatter::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp) # -- # This file is generated from RFC3454, by rake. Don't edit directly. # ++ -# -- -# This file is generated from RFC3454, by rake. Don't edit directly. -# ++ # # pkg:gem/net-imap#lib/net/imap/stringprep.rb:11 module Net::IMAP::StringPrep @@ -13387,6 +13561,9 @@ class Net::IMAP::UIDFetchData < ::Net::IMAP::FetchStruct def initialize(*_arg0, **_arg1, &_arg2); end end +# pkg:gem/net-imap#lib/net/imap/command_data.rb:61 +Net::IMAP::UNQUOTABLE_CHARS = T.let(T.unsafe(nil), Regexp) + # Error raised upon an unknown response from the server. # # This is different from InvalidResponseError: the response may be a @@ -13396,7 +13573,7 @@ end # 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:299 +# pkg:gem/net-imap#lib/net/imap/errors.rb:364 class Net::IMAP::UnknownResponseError < ::Net::IMAP::ResponseError; end # **Note:** This represents an intentionally _unstable_ API. Where @@ -13443,7 +13620,7 @@ class Net::IMAP::UnparsedData < ::Struct; end # pkg:gem/net-imap#lib/net/imap/response_data.rb:171 class Net::IMAP::UnparsedNumericResponseData < ::Struct; end -# pkg:gem/net-imap#lib/net/imap.rb:816 +# pkg:gem/net-imap#lib/net/imap.rb:822 Net::IMAP::VERSION = T.let(T.unsafe(nil), String) # Represents IMAP +text+ or +quoted+ data, which share the same @@ -13461,18 +13638,18 @@ Net::IMAP::VERSION = T.let(T.unsafe(nil), String) # The string's bytes must be valid ASCII or valid UTF-8. The string's # reported encoding is ignored, but the string is _not_ transcoded. # -# pkg:gem/net-imap#lib/net/imap/command_data.rb:186 +# pkg:gem/net-imap#lib/net/imap/command_data.rb:202 class Net::IMAP::ValidNonLiteralData < ::Net::IMAP::CommandData - # pkg:gem/net-imap#lib/net/imap/command_data.rb:187 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:203 def initialize(data:); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:209 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:225 def ascii_only?; end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:211 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:227 def send_data(imap, tag = T.unsafe(nil)); end - # pkg:gem/net-imap#lib/net/imap/command_data.rb:197 + # pkg:gem/net-imap#lib/net/imap/command_data.rb:213 def validate; end end diff --git a/sorbet/rbi/gems/net-protocol@0.2.2.rbi b/sorbet/rbi/gems/net-protocol@0.2.2.rbi deleted file mode 100644 index 08857ede3..000000000 --- a/sorbet/rbi/gems/net-protocol@0.2.2.rbi +++ /dev/null @@ -1,244 +0,0 @@ -# typed: false - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `net-protocol` gem. -# Please instead update this file by running `bin/tapioca gem net-protocol`. - - -# pkg:gem/net-protocol#lib/net/protocol.rb:115 -class Net::BufferedIO - # pkg:gem/net-protocol#lib/net/protocol.rb:116 - def initialize(io, read_timeout: T.unsafe(nil), write_timeout: T.unsafe(nil), continue_timeout: T.unsafe(nil), debug_output: T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:291 - def <<(*strs); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:145 - def close; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:141 - def closed?; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:130 - def continue_timeout; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:130 - def continue_timeout=(_arg0); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:131 - def debug_output; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:131 - def debug_output=(_arg0); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:137 - def eof?; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:133 - def inspect; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:127 - def io; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:155 - def read(len, dest = T.unsafe(nil), ignore_eof = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:176 - def read_all(dest = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:128 - def read_timeout; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:128 - def read_timeout=(_arg0); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:208 - def readline; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:194 - def readuntil(terminator, ignore_eof = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:285 - def write(*strs); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:129 - def write_timeout; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:129 - def write_timeout=(_arg0); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:293 - def writeline(str); end - - private - - # pkg:gem/net-protocol#lib/net/protocol.rb:356 - def LOG(msg); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:347 - def LOG_off; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:352 - def LOG_on; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:257 - def rbuf_consume(len = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:253 - def rbuf_consume_all; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:216 - def rbuf_fill; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:241 - def rbuf_flush; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:249 - def rbuf_size; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:311 - def write0(*strs); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:301 - def writing; end -end - -# pkg:gem/net-protocol#lib/net/protocol.rb:363 -class Net::InternetMessageIO < ::Net::BufferedIO - # pkg:gem/net-protocol#lib/net/protocol.rb:364 - def initialize(*_arg0, **_arg1); end - - # *library private* (cannot handle 'break') - # - # pkg:gem/net-protocol#lib/net/protocol.rb:386 - def each_list_item; end - - # Read - # - # pkg:gem/net-protocol#lib/net/protocol.rb:373 - def each_message_chunk; end - - # Write - # - # pkg:gem/net-protocol#lib/net/protocol.rb:404 - def write_message(src); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:392 - def write_message_0(src); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:417 - def write_message_by_block(&block); end - - private - - # pkg:gem/net-protocol#lib/net/protocol.rb:460 - def buffer_filling(buf, src); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:436 - def dot_stuff(s); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:452 - def each_crlf_line(src); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:440 - def using_each_crlf_line; end -end - -# pkg:gem/net-protocol#lib/net/protocol.rb:541 -Net::NetPrivate::Socket = Net::InternetMessageIO - -# pkg:gem/net-protocol#lib/net/protocol.rb:68 -Net::ProtocRetryError = Net::ProtoRetriableError - -# pkg:gem/net-protocol#lib/net/protocol.rb:28 -class Net::Protocol - private - - # pkg:gem/net-protocol#lib/net/protocol.rb:40 - def ssl_socket_connect(s, timeout); end - - class << self - # pkg:gem/net-protocol#lib/net/protocol.rb:32 - def protocol_param(name, val); end - end -end - -# pkg:gem/net-protocol#lib/net/protocol.rb:29 -Net::Protocol::VERSION = T.let(T.unsafe(nil), String) - -# pkg:gem/net-protocol#lib/net/protocol.rb:516 -class Net::ReadAdapter - # pkg:gem/net-protocol#lib/net/protocol.rb:517 - def initialize(block); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:525 - def <<(str); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:521 - def inspect; end - - private - - # This method is needed because @block must be called by yield, - # not Proc#call. You can see difference when using `break' in - # the block. - # - # pkg:gem/net-protocol#lib/net/protocol.rb:534 - def call_block(str); end -end - -# ReadTimeout, a subclass of Timeout::Error, is raised if a chunk of the -# response cannot be read within the read_timeout. -# -# pkg:gem/net-protocol#lib/net/protocol.rb:80 -class Net::ReadTimeout < ::Timeout::Error - # pkg:gem/net-protocol#lib/net/protocol.rb:81 - def initialize(io = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:84 - def io; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:86 - def message; end -end - -# The writer adapter class -# -# pkg:gem/net-protocol#lib/net/protocol.rb:486 -class Net::WriteAdapter - # pkg:gem/net-protocol#lib/net/protocol.rb:487 - def initialize(writer); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:501 - def <<(str); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:491 - def inspect; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:499 - def print(str); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:510 - def printf(*args); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:506 - def puts(str = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:495 - def write(str); end -end - -# WriteTimeout, a subclass of Timeout::Error, is raised if a chunk of the -# response cannot be written within the write_timeout. Not raised on Windows. -# -# pkg:gem/net-protocol#lib/net/protocol.rb:99 -class Net::WriteTimeout < ::Timeout::Error - # pkg:gem/net-protocol#lib/net/protocol.rb:100 - def initialize(io = T.unsafe(nil)); end - - # pkg:gem/net-protocol#lib/net/protocol.rb:103 - def io; end - - # pkg:gem/net-protocol#lib/net/protocol.rb:105 - def message; end -end diff --git a/sorbet/rbi/gems/net-protocol@0.3.0.rbi b/sorbet/rbi/gems/net-protocol@0.3.0.rbi new file mode 100644 index 000000000..6ce336086 --- /dev/null +++ b/sorbet/rbi/gems/net-protocol@0.3.0.rbi @@ -0,0 +1,275 @@ +# typed: false + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `net-protocol` gem. +# Please instead update this file by running `bin/tapioca gem net-protocol`. + + +# pkg:gem/net-protocol#lib/net/protocol.rb:151 +class Net::BufferedIO + # pkg:gem/net-protocol#lib/net/protocol.rb:152 + def initialize(io, read_timeout: T.unsafe(nil), write_timeout: T.unsafe(nil), continue_timeout: T.unsafe(nil), debug_output: T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:344 + def <<(*strs); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:181 + def close; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:177 + def closed?; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:166 + def continue_timeout; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:166 + def continue_timeout=(_arg0); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:167 + def debug_output; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:167 + def debug_output=(_arg0); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:173 + def eof?; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:169 + def inspect; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:163 + def io; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:191 + def read(len, dest = T.unsafe(nil), ignore_eof = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:212 + def read_all(dest = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:164 + def read_timeout; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:164 + def read_timeout=(_arg0); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:261 + def readline; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:230 + def readuntil(terminator, ignore_eof = T.unsafe(nil), limit: T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:338 + def write(*strs); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:165 + def write_timeout; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:165 + def write_timeout=(_arg0); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:346 + def writeline(str); end + + private + + # pkg:gem/net-protocol#lib/net/protocol.rb:409 + def LOG(msg); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:400 + def LOG_off; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:405 + def LOG_on; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:310 + def rbuf_consume(len = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:306 + def rbuf_consume_all; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:269 + def rbuf_fill; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:294 + def rbuf_flush; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:302 + def rbuf_size; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:364 + def write0(*strs); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:354 + def writing; end +end + +# pkg:gem/net-protocol#lib/net/protocol.rb:416 +class Net::InternetMessageIO < ::Net::BufferedIO + # pkg:gem/net-protocol#lib/net/protocol.rb:417 + def initialize(*_arg0, **_arg1); end + + # *library private* (cannot handle 'break') + # + # pkg:gem/net-protocol#lib/net/protocol.rb:439 + def each_list_item; end + + # Read + # + # pkg:gem/net-protocol#lib/net/protocol.rb:426 + def each_message_chunk; end + + # Write + # + # pkg:gem/net-protocol#lib/net/protocol.rb:457 + def write_message(src); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:445 + def write_message_0(src); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:470 + def write_message_by_block(&block); end + + private + + # pkg:gem/net-protocol#lib/net/protocol.rb:513 + def buffer_filling(buf, src); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:489 + def dot_stuff(s); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:505 + def each_crlf_line(src); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:493 + def using_each_crlf_line; end +end + +# pkg:gem/net-protocol#lib/net/protocol.rb:595 +Net::NetPrivate::Socket = Net::InternetMessageIO + +# pkg:gem/net-protocol#lib/net/protocol.rb:79 +Net::ProtocRetryError = Net::ProtoRetriableError + +# pkg:gem/net-protocol#lib/net/protocol.rb:28 +class Net::Protocol + private + + # pkg:gem/net-protocol#lib/net/protocol.rb:40 + def ssl_socket_connect(s, timeout); end + + class << self + # pkg:gem/net-protocol#lib/net/protocol.rb:32 + def protocol_param(name, val); end + end +end + +# pkg:gem/net-protocol#lib/net/protocol.rb:59 +Net::Protocol::TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT = T.let(T.unsafe(nil), TrueClass) + +# pkg:gem/net-protocol#lib/net/protocol.rb:29 +Net::Protocol::VERSION = T.let(T.unsafe(nil), String) + +# pkg:gem/net-protocol#lib/net/protocol.rb:570 +class Net::ReadAdapter + # pkg:gem/net-protocol#lib/net/protocol.rb:571 + def initialize(block); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:579 + def <<(str); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:575 + def inspect; end + + private + + # This method is needed because @block must be called by yield, + # not Proc#call. You can see difference when using `break' in + # the block. + # + # pkg:gem/net-protocol#lib/net/protocol.rb:588 + def call_block(str); end +end + +# ReadLimitExceeded, a subclass of ProtocolError, is raised if the +# terminator is not found within the byte limit given to +# Net::BufferedIO#readuntil. +# +# The limit is the largest result readuntil may return, counting the +# terminator itself, so a limit of 4 accepts "abc\n" and rejects +# "abcd\n". Unlike the limit of IO#gets it never truncates a result to +# fit. Either the whole thing comes back or this is raised, except +# under ignore_eof, which still returns what was buffered when the +# stream ended. The count is in bytes while the IO hands back binary +# strings, which every real one does. +# +# It bounds one call, not a connection. The unconsumed buffer can +# still run one BUFSIZE past the limit, and a peer sending endless +# short lines is not bounded at all. +# +# Nothing is consumed when this is raised, so the usual response is to +# close the connection rather than read on under a wider limit. +# +# pkg:gem/net-protocol#lib/net/protocol.rb:102 +class Net::ReadLimitExceeded < ::Net::ProtocolError; end + +# ReadTimeout, a subclass of Timeout::Error, is raised if a chunk of the +# response cannot be read within the read_timeout. +# +# pkg:gem/net-protocol#lib/net/protocol.rb:114 +class Net::ReadTimeout < ::Timeout::Error + # :stopdoc: + # + # pkg:gem/net-protocol#lib/net/protocol.rb:116 + def initialize(io = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:119 + def io; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:121 + def message; end +end + +# The writer adapter class +# +# pkg:gem/net-protocol#lib/net/protocol.rb:539 +class Net::WriteAdapter + # :stopdoc: + # + # pkg:gem/net-protocol#lib/net/protocol.rb:541 + def initialize(writer); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:555 + def <<(str); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:545 + def inspect; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:553 + def print(str); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:564 + def printf(*args); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:560 + def puts(str = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:549 + def write(str); end +end + +# WriteTimeout, a subclass of Timeout::Error, is raised if a chunk of the +# response cannot be written within the write_timeout. Not raised on Windows. +# +# pkg:gem/net-protocol#lib/net/protocol.rb:134 +class Net::WriteTimeout < ::Timeout::Error + # :stopdoc: + # + # pkg:gem/net-protocol#lib/net/protocol.rb:136 + def initialize(io = T.unsafe(nil)); end + + # pkg:gem/net-protocol#lib/net/protocol.rb:139 + def io; end + + # pkg:gem/net-protocol#lib/net/protocol.rb:141 + def message; end +end