packwerk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  3. data/.github/probots.yml +2 -0
  4. data/.github/pull_request_template.md +27 -0
  5. data/.github/workflows/ci.yml +50 -0
  6. data/.gitignore +12 -0
  7. data/.rubocop.yml +46 -0
  8. data/.ruby-version +1 -0
  9. data/CODEOWNERS +1 -0
  10. data/CODE_OF_CONDUCT.md +76 -0
  11. data/CONTRIBUTING.md +17 -0
  12. data/Gemfile +22 -0
  13. data/Gemfile.lock +236 -0
  14. data/LICENSE.md +7 -0
  15. data/README.md +73 -0
  16. data/Rakefile +13 -0
  17. data/TROUBLESHOOT.md +67 -0
  18. data/USAGE.md +250 -0
  19. data/bin/console +15 -0
  20. data/bin/setup +8 -0
  21. data/dev.yml +32 -0
  22. data/docs/cohesion.png +0 -0
  23. data/exe/packwerk +6 -0
  24. data/lib/packwerk.rb +44 -0
  25. data/lib/packwerk/application_validator.rb +343 -0
  26. data/lib/packwerk/association_inspector.rb +44 -0
  27. data/lib/packwerk/checking_deprecated_references.rb +40 -0
  28. data/lib/packwerk/cli.rb +238 -0
  29. data/lib/packwerk/configuration.rb +82 -0
  30. data/lib/packwerk/const_node_inspector.rb +44 -0
  31. data/lib/packwerk/constant_discovery.rb +60 -0
  32. data/lib/packwerk/constant_name_inspector.rb +22 -0
  33. data/lib/packwerk/dependency_checker.rb +28 -0
  34. data/lib/packwerk/deprecated_references.rb +92 -0
  35. data/lib/packwerk/file_processor.rb +43 -0
  36. data/lib/packwerk/files_for_processing.rb +67 -0
  37. data/lib/packwerk/formatters/progress_formatter.rb +46 -0
  38. data/lib/packwerk/generators/application_validation.rb +62 -0
  39. data/lib/packwerk/generators/configuration_file.rb +69 -0
  40. data/lib/packwerk/generators/inflections_file.rb +43 -0
  41. data/lib/packwerk/generators/root_package.rb +37 -0
  42. data/lib/packwerk/generators/templates/inflections.yml +6 -0
  43. data/lib/packwerk/generators/templates/package.yml +17 -0
  44. data/lib/packwerk/generators/templates/packwerk +23 -0
  45. data/lib/packwerk/generators/templates/packwerk.yml.erb +23 -0
  46. data/lib/packwerk/generators/templates/packwerk_validator_test.rb +11 -0
  47. data/lib/packwerk/graph.rb +74 -0
  48. data/lib/packwerk/inflections/custom.rb +33 -0
  49. data/lib/packwerk/inflections/default.rb +73 -0
  50. data/lib/packwerk/inflector.rb +41 -0
  51. data/lib/packwerk/node.rb +259 -0
  52. data/lib/packwerk/node_processor.rb +49 -0
  53. data/lib/packwerk/node_visitor.rb +22 -0
  54. data/lib/packwerk/offense.rb +44 -0
  55. data/lib/packwerk/output_styles.rb +41 -0
  56. data/lib/packwerk/package.rb +56 -0
  57. data/lib/packwerk/package_set.rb +59 -0
  58. data/lib/packwerk/parsed_constant_definitions.rb +62 -0
  59. data/lib/packwerk/parsers.rb +23 -0
  60. data/lib/packwerk/parsers/erb.rb +66 -0
  61. data/lib/packwerk/parsers/factory.rb +34 -0
  62. data/lib/packwerk/parsers/ruby.rb +42 -0
  63. data/lib/packwerk/privacy_checker.rb +45 -0
  64. data/lib/packwerk/reference.rb +6 -0
  65. data/lib/packwerk/reference_extractor.rb +81 -0
  66. data/lib/packwerk/reference_lister.rb +23 -0
  67. data/lib/packwerk/run_context.rb +103 -0
  68. data/lib/packwerk/sanity_checker.rb +10 -0
  69. data/lib/packwerk/spring_command.rb +28 -0
  70. data/lib/packwerk/updating_deprecated_references.rb +51 -0
  71. data/lib/packwerk/version.rb +6 -0
  72. data/lib/packwerk/violation_type.rb +13 -0
  73. data/library.yml +6 -0
  74. data/packwerk.gemspec +58 -0
  75. data/service.yml +6 -0
  76. data/shipit.rubygems.yml +1 -0
  77. data/sorbet/config +2 -0
  78. data/sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +840 -0
  79. data/sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +571 -0
  80. data/sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +568 -0
  81. data/sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +5216 -0
  82. data/sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +663 -0
  83. data/sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +2504 -0
  84. data/sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +635 -0
  85. data/sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +1201 -0
  86. data/sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8011 -0
  87. data/sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +904 -0
  88. data/sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +3888 -0
  89. data/sorbet/rbi/gems/ast@2.4.1.rbi +54 -0
  90. data/sorbet/rbi/gems/better_html@1.0.15.rbi +317 -0
  91. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  92. data/sorbet/rbi/gems/byebug@11.1.3.rbi +8 -0
  93. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  94. data/sorbet/rbi/gems/colorize@0.8.1.rbi +40 -0
  95. data/sorbet/rbi/gems/commander@4.5.2.rbi +8 -0
  96. data/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +1966 -0
  97. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +26 -0
  98. data/sorbet/rbi/gems/crass@1.0.6.rbi +138 -0
  99. data/sorbet/rbi/gems/erubi@1.9.0.rbi +39 -0
  100. data/sorbet/rbi/gems/globalid@0.4.2.rbi +178 -0
  101. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  102. data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +46 -0
  103. data/sorbet/rbi/gems/i18n@1.8.2.rbi +633 -0
  104. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +8 -0
  105. data/sorbet/rbi/gems/loofah@2.5.0.rbi +272 -0
  106. data/sorbet/rbi/gems/m@1.5.1.rbi +108 -0
  107. data/sorbet/rbi/gems/mail@2.7.1.rbi +2490 -0
  108. data/sorbet/rbi/gems/marcel@0.3.3.rbi +30 -0
  109. data/sorbet/rbi/gems/method_source@1.0.0.rbi +76 -0
  110. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +47 -0
  111. data/sorbet/rbi/gems/mini_mime@1.0.2.rbi +71 -0
  112. data/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +8 -0
  113. data/sorbet/rbi/gems/minitest@5.14.0.rbi +542 -0
  114. data/sorbet/rbi/gems/mocha@1.11.2.rbi +964 -0
  115. data/sorbet/rbi/gems/nio4r@2.5.2.rbi +89 -0
  116. data/sorbet/rbi/gems/nokogiri@1.10.9.rbi +1608 -0
  117. data/sorbet/rbi/gems/parallel@1.19.1.rbi +8 -0
  118. data/sorbet/rbi/gems/parlour@4.0.1.rbi +561 -0
  119. data/sorbet/rbi/gems/parser@2.7.1.4.rbi +1632 -0
  120. data/sorbet/rbi/gems/pry@0.13.1.rbi +8 -0
  121. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +335 -0
  122. data/sorbet/rbi/gems/rack@2.2.2.rbi +1730 -0
  123. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +123 -0
  124. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +213 -0
  125. data/sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8 -0
  126. data/sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +869 -0
  127. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +155 -0
  128. data/sorbet/rbi/gems/rake@13.0.1.rbi +841 -0
  129. data/sorbet/rbi/gems/rexml@3.2.4.rbi +8 -0
  130. data/sorbet/rbi/gems/rubocop-performance@1.5.2.rbi +8 -0
  131. data/sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi +8 -0
  132. data/sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi +8 -0
  133. data/sorbet/rbi/gems/rubocop@0.82.0.rbi +8 -0
  134. data/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +8 -0
  135. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +168 -0
  136. data/sorbet/rbi/gems/spoom@1.0.4.rbi +418 -0
  137. data/sorbet/rbi/gems/spring@2.1.0.rbi +160 -0
  138. data/sorbet/rbi/gems/sprockets-rails@3.2.1.rbi +431 -0
  139. data/sorbet/rbi/gems/sprockets@4.0.0.rbi +1132 -0
  140. data/sorbet/rbi/gems/tapioca@0.4.5.rbi +518 -0
  141. data/sorbet/rbi/gems/thor@1.0.1.rbi +892 -0
  142. data/sorbet/rbi/gems/tzinfo@2.0.2.rbi +547 -0
  143. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
  144. data/sorbet/rbi/gems/websocket-driver@0.7.1.rbi +438 -0
  145. data/sorbet/rbi/gems/websocket-extensions@0.1.4.rbi +71 -0
  146. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +8 -0
  147. data/sorbet/tapioca/require.rb +25 -0
  148. data/static/packwerk-check-demo.png +0 -0
  149. data/static/packwerk_check.gif +0 -0
  150. data/static/packwerk_check_violation.gif +0 -0
  151. data/static/packwerk_update.gif +0 -0
  152. data/static/packwerk_validate.gif +0 -0
  153. metadata +341 -0
@@ -0,0 +1,8 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `jaro_winkler` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca/blob/master/README.md#manual-gem-requires
@@ -0,0 +1,272 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `loofah` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Loofah
8
+ class << self
9
+ def document(*args, &block); end
10
+ def fragment(*args, &block); end
11
+ def remove_extraneous_whitespace(string); end
12
+ def scrub_document(string_or_io, method); end
13
+ def scrub_fragment(string_or_io, method); end
14
+ def scrub_xml_document(string_or_io, method); end
15
+ def scrub_xml_fragment(string_or_io, method); end
16
+ def xml_document(*args, &block); end
17
+ def xml_fragment(*args, &block); end
18
+
19
+ private
20
+
21
+ def remove_comments_before_html_element(doc); end
22
+ end
23
+ end
24
+
25
+ module Loofah::DocumentDecorator
26
+ def initialize(*args, &block); end
27
+ end
28
+
29
+ module Loofah::Elements
30
+ end
31
+
32
+ Loofah::Elements::BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
33
+
34
+ Loofah::Elements::LOOSE_BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
35
+
36
+ Loofah::Elements::STRICT_BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
37
+
38
+ Loofah::Elements::STRICT_BLOCK_LEVEL_HTML4 = T.let(T.unsafe(nil), Set)
39
+
40
+ Loofah::Elements::STRICT_BLOCK_LEVEL_HTML5 = T.let(T.unsafe(nil), Set)
41
+
42
+ module Loofah::HTML
43
+ end
44
+
45
+ class Loofah::HTML::Document < ::Nokogiri::HTML::Document
46
+ include(::Loofah::ScrubBehavior::Node)
47
+ include(::Loofah::DocumentDecorator)
48
+ include(::Loofah::TextBehavior)
49
+
50
+ def serialize_root; end
51
+ end
52
+
53
+ class Loofah::HTML::DocumentFragment < ::Nokogiri::HTML::DocumentFragment
54
+ include(::Loofah::TextBehavior)
55
+
56
+ def serialize; end
57
+ def serialize_root; end
58
+ def to_s; end
59
+
60
+ class << self
61
+ def parse(tags, encoding = T.unsafe(nil)); end
62
+ end
63
+ end
64
+
65
+ module Loofah::HTML5
66
+ end
67
+
68
+ module Loofah::HTML5::SafeList
69
+ end
70
+
71
+ Loofah::HTML5::SafeList::ACCEPTABLE_ATTRIBUTES = T.let(T.unsafe(nil), Set)
72
+
73
+ Loofah::HTML5::SafeList::ACCEPTABLE_CSS_FUNCTIONS = T.let(T.unsafe(nil), Set)
74
+
75
+ Loofah::HTML5::SafeList::ACCEPTABLE_CSS_KEYWORDS = T.let(T.unsafe(nil), Set)
76
+
77
+ Loofah::HTML5::SafeList::ACCEPTABLE_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
78
+
79
+ Loofah::HTML5::SafeList::ACCEPTABLE_ELEMENTS = T.let(T.unsafe(nil), Set)
80
+
81
+ Loofah::HTML5::SafeList::ACCEPTABLE_PROTOCOLS = T.let(T.unsafe(nil), Set)
82
+
83
+ Loofah::HTML5::SafeList::ACCEPTABLE_SVG_PROPERTIES = T.let(T.unsafe(nil), Set)
84
+
85
+ Loofah::HTML5::SafeList::ACCEPTABLE_URI_DATA_MEDIATYPES = T.let(T.unsafe(nil), Set)
86
+
87
+ Loofah::HTML5::SafeList::ALLOWED_ATTRIBUTES = T.let(T.unsafe(nil), Set)
88
+
89
+ Loofah::HTML5::SafeList::ALLOWED_CSS_FUNCTIONS = T.let(T.unsafe(nil), Set)
90
+
91
+ Loofah::HTML5::SafeList::ALLOWED_CSS_KEYWORDS = T.let(T.unsafe(nil), Set)
92
+
93
+ Loofah::HTML5::SafeList::ALLOWED_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
94
+
95
+ Loofah::HTML5::SafeList::ALLOWED_ELEMENTS = T.let(T.unsafe(nil), Set)
96
+
97
+ Loofah::HTML5::SafeList::ALLOWED_ELEMENTS_WITH_LIBXML2 = T.let(T.unsafe(nil), Set)
98
+
99
+ Loofah::HTML5::SafeList::ALLOWED_PROTOCOLS = T.let(T.unsafe(nil), Set)
100
+
101
+ Loofah::HTML5::SafeList::ALLOWED_SVG_PROPERTIES = T.let(T.unsafe(nil), Set)
102
+
103
+ Loofah::HTML5::SafeList::ALLOWED_URI_DATA_MEDIATYPES = T.let(T.unsafe(nil), Set)
104
+
105
+ Loofah::HTML5::SafeList::ATTR_VAL_IS_URI = T.let(T.unsafe(nil), Set)
106
+
107
+ Loofah::HTML5::SafeList::MATHML_ATTRIBUTES = T.let(T.unsafe(nil), Set)
108
+
109
+ Loofah::HTML5::SafeList::MATHML_ELEMENTS = T.let(T.unsafe(nil), Set)
110
+
111
+ Loofah::HTML5::SafeList::PROTOCOL_SEPARATOR = T.let(T.unsafe(nil), Regexp)
112
+
113
+ Loofah::HTML5::SafeList::SHORTHAND_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
114
+
115
+ Loofah::HTML5::SafeList::SVG_ALLOW_LOCAL_HREF = T.let(T.unsafe(nil), Set)
116
+
117
+ Loofah::HTML5::SafeList::SVG_ATTRIBUTES = T.let(T.unsafe(nil), Set)
118
+
119
+ Loofah::HTML5::SafeList::SVG_ATTR_VAL_ALLOWS_REF = T.let(T.unsafe(nil), Set)
120
+
121
+ Loofah::HTML5::SafeList::SVG_ELEMENTS = T.let(T.unsafe(nil), Set)
122
+
123
+ Loofah::HTML5::SafeList::TAGS_SAFE_WITH_LIBXML2 = T.let(T.unsafe(nil), Set)
124
+
125
+ Loofah::HTML5::SafeList::VOID_ELEMENTS = T.let(T.unsafe(nil), Set)
126
+
127
+ module Loofah::HTML5::Scrub
128
+ class << self
129
+ def allowed_element?(element_name); end
130
+ def force_correct_attribute_escaping!(node); end
131
+ def scrub_attributes(node); end
132
+ def scrub_css(style); end
133
+ def scrub_css_attribute(node); end
134
+ end
135
+ end
136
+
137
+ Loofah::HTML5::Scrub::CONTROL_CHARACTERS = T.let(T.unsafe(nil), Regexp)
138
+
139
+ Loofah::HTML5::Scrub::CRASS_SEMICOLON = T.let(T.unsafe(nil), Hash)
140
+
141
+ Loofah::HTML5::Scrub::CSS_KEYWORDISH = T.let(T.unsafe(nil), Regexp)
142
+
143
+ Loofah::HTML5::WhiteList = Loofah::HTML5::SafeList
144
+
145
+ module Loofah::LibxmlWorkarounds
146
+ end
147
+
148
+ Loofah::LibxmlWorkarounds::BROKEN_ESCAPING_ATTRIBUTES = T.let(T.unsafe(nil), Set)
149
+
150
+ Loofah::LibxmlWorkarounds::BROKEN_ESCAPING_ATTRIBUTES_QUALIFYING_TAG = T.let(T.unsafe(nil), Hash)
151
+
152
+ module Loofah::MetaHelpers
153
+ class << self
154
+ def add_downcased_set_members_to_all_set_constants(mojule); end
155
+ end
156
+ end
157
+
158
+ module Loofah::ScrubBehavior
159
+ class << self
160
+ def resolve_scrubber(scrubber); end
161
+ end
162
+ end
163
+
164
+ module Loofah::ScrubBehavior::Node
165
+ def scrub!(scrubber); end
166
+ end
167
+
168
+ module Loofah::ScrubBehavior::NodeSet
169
+ def scrub!(scrubber); end
170
+ end
171
+
172
+ class Loofah::Scrubber
173
+ def initialize(options = T.unsafe(nil), &block); end
174
+
175
+ def append_attribute(node, attribute, value); end
176
+ def block; end
177
+ def direction; end
178
+ def scrub(node); end
179
+ def traverse(node); end
180
+
181
+ private
182
+
183
+ def html5lib_sanitize(node); end
184
+ def traverse_conditionally_bottom_up(node); end
185
+ def traverse_conditionally_top_down(node); end
186
+ end
187
+
188
+ Loofah::Scrubber::CONTINUE = T.let(T.unsafe(nil), Object)
189
+
190
+ Loofah::Scrubber::STOP = T.let(T.unsafe(nil), Object)
191
+
192
+ class Loofah::ScrubberNotFound < ::RuntimeError
193
+ end
194
+
195
+ module Loofah::Scrubbers
196
+ class << self
197
+ def scrubber_symbols; end
198
+ end
199
+ end
200
+
201
+ class Loofah::Scrubbers::Escape < ::Loofah::Scrubber
202
+ def initialize; end
203
+
204
+ def scrub(node); end
205
+ end
206
+
207
+ Loofah::Scrubbers::MAP = T.let(T.unsafe(nil), Hash)
208
+
209
+ class Loofah::Scrubbers::NewlineBlockElements < ::Loofah::Scrubber
210
+ def initialize; end
211
+
212
+ def scrub(node); end
213
+ end
214
+
215
+ class Loofah::Scrubbers::NoFollow < ::Loofah::Scrubber
216
+ def initialize; end
217
+
218
+ def scrub(node); end
219
+ end
220
+
221
+ class Loofah::Scrubbers::NoOpener < ::Loofah::Scrubber
222
+ def initialize; end
223
+
224
+ def scrub(node); end
225
+ end
226
+
227
+ class Loofah::Scrubbers::Prune < ::Loofah::Scrubber
228
+ def initialize; end
229
+
230
+ def scrub(node); end
231
+ end
232
+
233
+ class Loofah::Scrubbers::Strip < ::Loofah::Scrubber
234
+ def initialize; end
235
+
236
+ def scrub(node); end
237
+ end
238
+
239
+ class Loofah::Scrubbers::Unprintable < ::Loofah::Scrubber
240
+ def initialize; end
241
+
242
+ def scrub(node); end
243
+ end
244
+
245
+ class Loofah::Scrubbers::Whitewash < ::Loofah::Scrubber
246
+ def initialize; end
247
+
248
+ def scrub(node); end
249
+ end
250
+
251
+ module Loofah::TextBehavior
252
+ def inner_text(options = T.unsafe(nil)); end
253
+ def text(options = T.unsafe(nil)); end
254
+ def to_str(options = T.unsafe(nil)); end
255
+ def to_text(options = T.unsafe(nil)); end
256
+ end
257
+
258
+ Loofah::VERSION = T.let(T.unsafe(nil), String)
259
+
260
+ module Loofah::XML
261
+ end
262
+
263
+ class Loofah::XML::Document < ::Nokogiri::XML::Document
264
+ include(::Loofah::ScrubBehavior::Node)
265
+ include(::Loofah::DocumentDecorator)
266
+ end
267
+
268
+ class Loofah::XML::DocumentFragment < ::Nokogiri::XML::DocumentFragment
269
+ class << self
270
+ def parse(tags); end
271
+ end
272
+ end
@@ -0,0 +1,108 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `m` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module M
8
+ class << self
9
+ def run(argv); end
10
+ end
11
+ end
12
+
13
+ class M::Executor
14
+ def initialize(testable); end
15
+
16
+ def execute; end
17
+
18
+ private
19
+
20
+ def runner; end
21
+ def suites; end
22
+ def testable; end
23
+ def tests; end
24
+ end
25
+
26
+ class M::Frameworks
27
+ def framework_runner; end
28
+
29
+ private
30
+
31
+ def minitest4?; end
32
+ def minitest5?; end
33
+ def test_unit?; end
34
+
35
+ class << self
36
+ def framework_runner; end
37
+ def minitest4?; end
38
+ def minitest5?; end
39
+ def test_unit?; end
40
+ end
41
+ end
42
+
43
+ class M::Parser
44
+ def initialize(argv); end
45
+
46
+ def parse; end
47
+
48
+ private
49
+
50
+ def argv; end
51
+ def parse_options!(argv); end
52
+ def testable; end
53
+ def wildcard(type); end
54
+ end
55
+
56
+ class M::Runner
57
+ def initialize(argv); end
58
+
59
+ def run; end
60
+ end
61
+
62
+ module M::Runners
63
+ end
64
+
65
+ class M::Runners::Base
66
+ def run(_test_arguments); end
67
+ def suites; end
68
+ def test_methods(suite_class); end
69
+ end
70
+
71
+ class M::Runners::Minitest4 < ::M::Runners::Base
72
+ def run(test_arguments); end
73
+ def suites; end
74
+ end
75
+
76
+ class M::Runners::Minitest5 < ::M::Runners::Base
77
+ def run(test_arguments); end
78
+ def suites; end
79
+ def test_methods(suite_class); end
80
+ end
81
+
82
+ class M::Runners::TestUnit < ::M::Runners::Base
83
+ def run(test_arguments); end
84
+ def suites; end
85
+ def test_methods(suite_class); end
86
+ end
87
+
88
+ class M::Runners::UnsupportedFramework < ::M::Runners::Base
89
+ def run(_test_arguments); end
90
+ def suites; end
91
+
92
+ private
93
+
94
+ def not_supported; end
95
+ end
96
+
97
+ class M::Testable
98
+ def initialize(file = T.unsafe(nil), lines = T.unsafe(nil), recursive = T.unsafe(nil)); end
99
+
100
+ def file; end
101
+ def file=(_); end
102
+ def lines; end
103
+ def lines=(lines); end
104
+ def recursive; end
105
+ def recursive=(_); end
106
+ end
107
+
108
+ M::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,2490 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `mail` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Mail
8
+ class << self
9
+ def all(*args, &block); end
10
+ def connection(&block); end
11
+ def defaults(&block); end
12
+ def delete_all(*args, &block); end
13
+ def deliver(*args, &block); end
14
+ def delivery_method; end
15
+ def eager_autoload!; end
16
+ def find(*args, &block); end
17
+ def find_and_delete(*args, &block); end
18
+ def first(*args, &block); end
19
+ def from_source(source); end
20
+ def inform_interceptors(mail); end
21
+ def inform_observers(mail); end
22
+ def last(*args, &block); end
23
+ def new(*args, &block); end
24
+ def random_tag; end
25
+ def read(filename); end
26
+ def read_from_string(mail_as_string); end
27
+ def register_autoload(name, path); end
28
+ def register_interceptor(interceptor); end
29
+ def register_observer(observer); end
30
+ def retriever_method; end
31
+ def something_random; end
32
+ def uniq; end
33
+ def unregister_interceptor(interceptor); end
34
+ def unregister_observer(observer); end
35
+ end
36
+ end
37
+
38
+ class Mail::Address
39
+ include(::Mail::Constants)
40
+ include(::Mail::Utilities)
41
+
42
+ def initialize(value = T.unsafe(nil)); end
43
+
44
+ def ==(other_address); end
45
+ def address(output_type = T.unsafe(nil)); end
46
+ def address=(value); end
47
+ def comments; end
48
+ def decoded; end
49
+ def display_name(output_type = T.unsafe(nil)); end
50
+ def display_name=(str); end
51
+ def domain(output_type = T.unsafe(nil)); end
52
+ def encoded; end
53
+ def format(output_type = T.unsafe(nil)); end
54
+ def group; end
55
+ def inspect; end
56
+ def local(output_type = T.unsafe(nil)); end
57
+ def name; end
58
+ def raw; end
59
+ def to_s; end
60
+
61
+ private
62
+
63
+ def format_comments; end
64
+ def get_comments; end
65
+ def get_display_name; end
66
+ def get_domain; end
67
+ def get_local; end
68
+ def get_name; end
69
+ def parse(value = T.unsafe(nil)); end
70
+ def strip_all_comments(string); end
71
+ def strip_domain_comments(value); end
72
+
73
+ class << self
74
+ def wrap(address); end
75
+ end
76
+ end
77
+
78
+ class Mail::AddressContainer < ::Array
79
+ def initialize(field, list = T.unsafe(nil)); end
80
+
81
+ def <<(address); end
82
+ end
83
+
84
+ class Mail::AddressList
85
+ def initialize(string); end
86
+
87
+ def addresses; end
88
+ def addresses_grouped_by_group; end
89
+ def group_names; end
90
+ end
91
+
92
+ class Mail::AttachmentsList < ::Array
93
+ def initialize(parts_list); end
94
+
95
+ def [](index_value); end
96
+ def []=(name, value); end
97
+ def guess_encoding; end
98
+ def inline; end
99
+ def set_mime_type(filename); end
100
+ end
101
+
102
+ class Mail::BccField < ::Mail::StructuredField
103
+ include(::Mail::CommonAddress)
104
+
105
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
106
+
107
+ def decoded; end
108
+ def encoded; end
109
+ def include_in_headers; end
110
+ def include_in_headers=(include_in_headers); end
111
+ end
112
+
113
+ Mail::BccField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
114
+
115
+ Mail::BccField::FIELD_NAME = T.let(T.unsafe(nil), String)
116
+
117
+ class Mail::Body
118
+ def initialize(string = T.unsafe(nil)); end
119
+
120
+ def <<(val); end
121
+ def ==(other); end
122
+ def =~(regexp); end
123
+ def ascii_only?; end
124
+ def boundary; end
125
+ def boundary=(val); end
126
+ def charset; end
127
+ def charset=(val); end
128
+ def decoded; end
129
+ def default_encoding; end
130
+ def empty?; end
131
+ def encoded(transfer_encoding = T.unsafe(nil)); end
132
+ def encoding(val = T.unsafe(nil)); end
133
+ def encoding=(val); end
134
+ def epilogue; end
135
+ def epilogue=(val); end
136
+ def include?(other); end
137
+ def match(regexp); end
138
+ def multipart?; end
139
+ def negotiate_best_encoding(message_encoding, allowed_encodings = T.unsafe(nil)); end
140
+ def parts; end
141
+ def preamble; end
142
+ def preamble=(val); end
143
+ def raw_source; end
144
+ def set_sort_order(order); end
145
+ def sort_parts!; end
146
+ def split!(boundary); end
147
+ def to_s; end
148
+
149
+ private
150
+
151
+ def crlf_boundary; end
152
+ def end_boundary; end
153
+ def extract_parts; end
154
+ def set_charset; end
155
+ end
156
+
157
+ class Mail::CcField < ::Mail::StructuredField
158
+ include(::Mail::CommonAddress)
159
+
160
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
161
+
162
+ def decoded; end
163
+ def encoded; end
164
+ end
165
+
166
+ Mail::CcField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
167
+
168
+ Mail::CcField::FIELD_NAME = T.let(T.unsafe(nil), String)
169
+
170
+ module Mail::CheckDeliveryParams
171
+ class << self
172
+ def check(mail); end
173
+ def check_addr(addr_name, addr); end
174
+ def check_from(addr); end
175
+ def check_message(message); end
176
+ def check_to(addrs); end
177
+ def validate_smtp_addr(addr); end
178
+ end
179
+ end
180
+
181
+ class Mail::CommentsField < ::Mail::UnstructuredField
182
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
183
+ end
184
+
185
+ Mail::CommentsField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
186
+
187
+ Mail::CommentsField::FIELD_NAME = T.let(T.unsafe(nil), String)
188
+
189
+ module Mail::CommonAddress
190
+ def <<(val); end
191
+ def addresses; end
192
+ def addrs; end
193
+ def charset; end
194
+ def decoded_group_addresses; end
195
+ def default; end
196
+ def display_names; end
197
+ def each; end
198
+ def encode_if_needed(val); end
199
+ def encoded_group_addresses; end
200
+ def formatted; end
201
+ def group_addresses; end
202
+ def group_names; end
203
+ def groups; end
204
+ def parse(val = T.unsafe(nil)); end
205
+ def value=(val); end
206
+
207
+ private
208
+
209
+ def address_list; end
210
+ def do_decode; end
211
+ def do_encode(field_name); end
212
+ def get_group_addresses(group_list); end
213
+ def utf8_if_needed(val); end
214
+ end
215
+
216
+ module Mail::CommonDate
217
+ def date_time; end
218
+ def default; end
219
+ def parse(val = T.unsafe(nil)); end
220
+
221
+ private
222
+
223
+ def do_decode; end
224
+ def do_encode(field_name); end
225
+ def element; end
226
+ end
227
+
228
+ module Mail::CommonField
229
+ include(::Mail::Constants)
230
+
231
+ def default; end
232
+ def field_length; end
233
+ def name; end
234
+ def name=(value); end
235
+ def responsible_for?(val); end
236
+ def to_s; end
237
+ def value; end
238
+ def value=(value); end
239
+
240
+ private
241
+
242
+ def ensure_filename_quoted(value); end
243
+ end
244
+
245
+ Mail::CommonField::FILENAME_RE = T.let(T.unsafe(nil), Regexp)
246
+
247
+ module Mail::CommonMessageId
248
+ def default; end
249
+ def element; end
250
+ def message_id; end
251
+ def message_ids; end
252
+ def parse(val = T.unsafe(nil)); end
253
+
254
+ private
255
+
256
+ def do_decode; end
257
+ def do_encode(field_name); end
258
+ def formated_message_ids(join); end
259
+ end
260
+
261
+ class Mail::Configuration
262
+ include(::Singleton)
263
+ extend(::Singleton::SingletonClassMethods)
264
+
265
+ def initialize; end
266
+
267
+ def delivery_method(method = T.unsafe(nil), settings = T.unsafe(nil)); end
268
+ def lookup_delivery_method(method); end
269
+ def lookup_retriever_method(method); end
270
+ def param_encode_language(value = T.unsafe(nil)); end
271
+ def retriever_method(method = T.unsafe(nil), settings = T.unsafe(nil)); end
272
+
273
+ class << self
274
+ def instance; end
275
+ end
276
+ end
277
+
278
+ module Mail::Constants
279
+ end
280
+
281
+ Mail::Constants::ASTERISK = T.let(T.unsafe(nil), String)
282
+
283
+ Mail::Constants::ATOM_UNSAFE = T.let(T.unsafe(nil), Regexp)
284
+
285
+ Mail::Constants::B_VALUES = T.let(T.unsafe(nil), Array)
286
+
287
+ Mail::Constants::CAPITAL_M = T.let(T.unsafe(nil), String)
288
+
289
+ Mail::Constants::COLON = T.let(T.unsafe(nil), String)
290
+
291
+ Mail::Constants::CONTROL_CHAR = T.let(T.unsafe(nil), Regexp)
292
+
293
+ Mail::Constants::CR = T.let(T.unsafe(nil), String)
294
+
295
+ Mail::Constants::CRLF = T.let(T.unsafe(nil), Regexp)
296
+
297
+ Mail::Constants::CR_ENCODED = T.let(T.unsafe(nil), String)
298
+
299
+ Mail::Constants::EMPTY = T.let(T.unsafe(nil), String)
300
+
301
+ Mail::Constants::ENCODED_VALUE = T.let(T.unsafe(nil), Regexp)
302
+
303
+ Mail::Constants::EQUAL_LF = T.let(T.unsafe(nil), String)
304
+
305
+ Mail::Constants::FIELD_BODY = T.let(T.unsafe(nil), Regexp)
306
+
307
+ Mail::Constants::FIELD_LINE = T.let(T.unsafe(nil), Regexp)
308
+
309
+ Mail::Constants::FIELD_NAME = T.let(T.unsafe(nil), Regexp)
310
+
311
+ Mail::Constants::FIELD_PREFIX = T.let(T.unsafe(nil), Regexp)
312
+
313
+ Mail::Constants::FIELD_SPLIT = T.let(T.unsafe(nil), Regexp)
314
+
315
+ Mail::Constants::FULL_ENCODED_VALUE = T.let(T.unsafe(nil), Regexp)
316
+
317
+ Mail::Constants::FWS = T.let(T.unsafe(nil), Regexp)
318
+
319
+ Mail::Constants::HEADER_LINE = T.let(T.unsafe(nil), Regexp)
320
+
321
+ Mail::Constants::HEADER_SPLIT = T.let(T.unsafe(nil), Regexp)
322
+
323
+ Mail::Constants::HYPHEN = T.let(T.unsafe(nil), String)
324
+
325
+ Mail::Constants::LF = T.let(T.unsafe(nil), String)
326
+
327
+ Mail::Constants::LF_ENCODED = T.let(T.unsafe(nil), String)
328
+
329
+ Mail::Constants::NULL_SENDER = T.let(T.unsafe(nil), String)
330
+
331
+ Mail::Constants::PHRASE_UNSAFE = T.let(T.unsafe(nil), Regexp)
332
+
333
+ Mail::Constants::QP_SAFE = T.let(T.unsafe(nil), Regexp)
334
+
335
+ Mail::Constants::QP_UNSAFE = T.let(T.unsafe(nil), Regexp)
336
+
337
+ Mail::Constants::Q_VALUES = T.let(T.unsafe(nil), Array)
338
+
339
+ Mail::Constants::SPACE = T.let(T.unsafe(nil), String)
340
+
341
+ Mail::Constants::TEXT = T.let(T.unsafe(nil), Regexp)
342
+
343
+ Mail::Constants::TOKEN_UNSAFE = T.let(T.unsafe(nil), Regexp)
344
+
345
+ Mail::Constants::UNDERSCORE = T.let(T.unsafe(nil), String)
346
+
347
+ Mail::Constants::WSP = T.let(T.unsafe(nil), Regexp)
348
+
349
+ class Mail::ContentDescriptionField < ::Mail::UnstructuredField
350
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
351
+ end
352
+
353
+ Mail::ContentDescriptionField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
354
+
355
+ Mail::ContentDescriptionField::FIELD_NAME = T.let(T.unsafe(nil), String)
356
+
357
+ class Mail::ContentDispositionElement
358
+ def initialize(string); end
359
+
360
+ def disposition_type; end
361
+ def parameters; end
362
+
363
+ private
364
+
365
+ def cleaned(string); end
366
+ end
367
+
368
+ class Mail::ContentDispositionField < ::Mail::StructuredField
369
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
370
+
371
+ def decoded; end
372
+ def disposition_type; end
373
+ def element; end
374
+ def encoded; end
375
+ def filename; end
376
+ def parameters; end
377
+ def parse(val = T.unsafe(nil)); end
378
+ end
379
+
380
+ Mail::ContentDispositionField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
381
+
382
+ Mail::ContentDispositionField::FIELD_NAME = T.let(T.unsafe(nil), String)
383
+
384
+ class Mail::ContentIdField < ::Mail::StructuredField
385
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
386
+
387
+ def content_id; end
388
+ def decoded; end
389
+ def element; end
390
+ def encoded; end
391
+ def name; end
392
+ def parse(val = T.unsafe(nil)); end
393
+ def to_s; end
394
+
395
+ private
396
+
397
+ def generate_content_id; end
398
+ end
399
+
400
+ Mail::ContentIdField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
401
+
402
+ Mail::ContentIdField::FIELD_NAME = T.let(T.unsafe(nil), String)
403
+
404
+ class Mail::ContentLocationElement
405
+ def initialize(string); end
406
+
407
+ def location; end
408
+ def to_s(*args); end
409
+ end
410
+
411
+ class Mail::ContentLocationField < ::Mail::StructuredField
412
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
413
+
414
+ def decoded; end
415
+ def element; end
416
+ def encoded; end
417
+ def location; end
418
+ def parse(val = T.unsafe(nil)); end
419
+ end
420
+
421
+ Mail::ContentLocationField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
422
+
423
+ Mail::ContentLocationField::FIELD_NAME = T.let(T.unsafe(nil), String)
424
+
425
+ class Mail::ContentTransferEncodingElement
426
+ def initialize(string); end
427
+
428
+ def encoding; end
429
+ end
430
+
431
+ class Mail::ContentTransferEncodingField < ::Mail::StructuredField
432
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
433
+
434
+ def decoded; end
435
+ def element; end
436
+ def encoded; end
437
+ def encoding; end
438
+ def parse(val = T.unsafe(nil)); end
439
+ end
440
+
441
+ Mail::ContentTransferEncodingField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
442
+
443
+ Mail::ContentTransferEncodingField::FIELD_NAME = T.let(T.unsafe(nil), String)
444
+
445
+ class Mail::ContentTypeElement
446
+ def initialize(string); end
447
+
448
+ def main_type; end
449
+ def parameters; end
450
+ def sub_type; end
451
+
452
+ private
453
+
454
+ def cleaned(string); end
455
+ end
456
+
457
+ class Mail::ContentTypeField < ::Mail::StructuredField
458
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
459
+
460
+ def attempt_to_clean; end
461
+ def content_type; end
462
+ def decoded; end
463
+ def default; end
464
+ def element; end
465
+ def encoded; end
466
+ def filename; end
467
+ def main_type; end
468
+ def parameters; end
469
+ def parse(val = T.unsafe(nil)); end
470
+ def string; end
471
+ def stringify(params); end
472
+ def sub_type; end
473
+ def value; end
474
+
475
+ private
476
+
477
+ def get_mime_type(val); end
478
+ def method_missing(name, *args, &block); end
479
+ def sanatize(val); end
480
+
481
+ class << self
482
+ def generate_boundary; end
483
+ def with_boundary(type); end
484
+ end
485
+ end
486
+
487
+ Mail::ContentTypeField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
488
+
489
+ Mail::ContentTypeField::FIELD_NAME = T.let(T.unsafe(nil), String)
490
+
491
+ class Mail::DateField < ::Mail::StructuredField
492
+ include(::Mail::CommonDate)
493
+
494
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
495
+
496
+ def decoded; end
497
+ def encoded; end
498
+ end
499
+
500
+ Mail::DateField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
501
+
502
+ Mail::DateField::FIELD_NAME = T.let(T.unsafe(nil), String)
503
+
504
+ class Mail::DateTimeElement
505
+ def initialize(string); end
506
+
507
+ def date_string; end
508
+ def time_string; end
509
+ end
510
+
511
+ module Mail::Encodings
512
+ include(::Mail::Constants)
513
+ extend(::Mail::Constants)
514
+ extend(::Mail::Utilities)
515
+
516
+ class << self
517
+ def address_encode(address, charset = T.unsafe(nil)); end
518
+ def b_value_decode(str); end
519
+ def b_value_encode(string, encoding = T.unsafe(nil)); end
520
+ def collapse_adjacent_encodings(str); end
521
+ def decode_encode(str, output_type); end
522
+ def defined?(name); end
523
+ def each_base64_chunk_byterange(str, max_bytesize_per_base64_chunk, &block); end
524
+ def each_chunk_byterange(str, max_bytesize_per_chunk); end
525
+ def encode_non_usascii(address, charset); end
526
+ def find_encoding(str); end
527
+ def get_all; end
528
+ def get_encoding(name); end
529
+ def get_name(name); end
530
+ def param_decode(str, encoding); end
531
+ def param_encode(str); end
532
+ def q_value_decode(str); end
533
+ def q_value_encode(encoded_str, encoding = T.unsafe(nil)); end
534
+ def register(name, cls); end
535
+ def transcode_charset(str, from_charset, to_charset = T.unsafe(nil)); end
536
+ def unquote_and_convert_to(str, to_encoding); end
537
+ def value_decode(str); end
538
+ def value_encoding_from_string(str); end
539
+ def with_ascii_kcode; end
540
+ end
541
+ end
542
+
543
+ class Mail::Encodings::Base64 < ::Mail::Encodings::SevenBit
544
+ class << self
545
+ def can_encode?(enc); end
546
+ def compatible_input?(str); end
547
+ def cost(str); end
548
+ def decode(str); end
549
+ def encode(str); end
550
+ end
551
+ end
552
+
553
+ Mail::Encodings::Base64::NAME = T.let(T.unsafe(nil), String)
554
+
555
+ Mail::Encodings::Base64::PRIORITY = T.let(T.unsafe(nil), Integer)
556
+
557
+ class Mail::Encodings::Binary < ::Mail::Encodings::Identity
558
+ end
559
+
560
+ Mail::Encodings::Binary::NAME = T.let(T.unsafe(nil), String)
561
+
562
+ Mail::Encodings::Binary::PRIORITY = T.let(T.unsafe(nil), Integer)
563
+
564
+ class Mail::Encodings::EightBit < ::Mail::Encodings::Binary
565
+ class << self
566
+ def compatible_input?(str); end
567
+ end
568
+ end
569
+
570
+ Mail::Encodings::EightBit::NAME = T.let(T.unsafe(nil), String)
571
+
572
+ Mail::Encodings::EightBit::PRIORITY = T.let(T.unsafe(nil), Integer)
573
+
574
+ class Mail::Encodings::Identity < ::Mail::Encodings::TransferEncoding
575
+ class << self
576
+ def cost(str); end
577
+ def decode(str); end
578
+ def encode(str); end
579
+ end
580
+ end
581
+
582
+ class Mail::Encodings::QuotedPrintable < ::Mail::Encodings::SevenBit
583
+ class << self
584
+ def can_encode?(enc); end
585
+ def compatible_input?(str); end
586
+ def cost(str); end
587
+ def decode(str); end
588
+ def encode(str); end
589
+ end
590
+ end
591
+
592
+ Mail::Encodings::QuotedPrintable::NAME = T.let(T.unsafe(nil), String)
593
+
594
+ Mail::Encodings::QuotedPrintable::PRIORITY = T.let(T.unsafe(nil), Integer)
595
+
596
+ class Mail::Encodings::SevenBit < ::Mail::Encodings::EightBit
597
+ class << self
598
+ def decode(str); end
599
+ def encode(str); end
600
+ end
601
+ end
602
+
603
+ Mail::Encodings::SevenBit::NAME = T.let(T.unsafe(nil), String)
604
+
605
+ Mail::Encodings::SevenBit::PRIORITY = T.let(T.unsafe(nil), Integer)
606
+
607
+ class Mail::Encodings::TransferEncoding
608
+ class << self
609
+ def can_encode?(enc); end
610
+ def can_transport?(enc); end
611
+ def compatible_input?(str); end
612
+ def cost(str); end
613
+ def lowest_cost(str, encodings); end
614
+ def negotiate(message_encoding, source_encoding, str, allowed_encodings = T.unsafe(nil)); end
615
+ def renegotiate(message_encoding, source_encoding, str, allowed_encodings = T.unsafe(nil)); end
616
+ def to_s; end
617
+ end
618
+ end
619
+
620
+ Mail::Encodings::TransferEncoding::NAME = T.let(T.unsafe(nil), String)
621
+
622
+ Mail::Encodings::TransferEncoding::PRIORITY = T.let(T.unsafe(nil), Integer)
623
+
624
+ class Mail::Encodings::UnixToUnix < ::Mail::Encodings::TransferEncoding
625
+ class << self
626
+ def decode(str); end
627
+ def encode(str); end
628
+ end
629
+ end
630
+
631
+ Mail::Encodings::UnixToUnix::NAME = T.let(T.unsafe(nil), String)
632
+
633
+ class Mail::Envelope < ::Mail::StructuredField
634
+ def initialize(*args); end
635
+
636
+ def date; end
637
+ def element; end
638
+ def from; end
639
+ end
640
+
641
+ class Mail::EnvelopeFromElement
642
+ def initialize(string); end
643
+
644
+ def address; end
645
+ def date_time; end
646
+ def formatted_date_time; end
647
+ def to_s; end
648
+ end
649
+
650
+ class Mail::Exim < ::Mail::Sendmail
651
+ class << self
652
+ def call(path, arguments, destinations, encoded_message); end
653
+ end
654
+ end
655
+
656
+ Mail::Exim::DEFAULTS = T.let(T.unsafe(nil), Hash)
657
+
658
+ class Mail::Field
659
+ include(::Mail::Constants)
660
+ include(::Mail::Utilities)
661
+ include(::Comparable)
662
+
663
+ def initialize(name, value = T.unsafe(nil), charset = T.unsafe(nil)); end
664
+
665
+ def <=>(other); end
666
+ def ==(other); end
667
+ def field; end
668
+ def field=(value); end
669
+ def field_order_id; end
670
+ def inspect; end
671
+ def method_missing(name, *args, &block); end
672
+ def name; end
673
+ def responsible_for?(val); end
674
+ def same(other); end
675
+ def to_s; end
676
+ def unparsed_value; end
677
+ def update(name, value); end
678
+ def value; end
679
+ def value=(val); end
680
+
681
+ private
682
+
683
+ def create_field(name, value, charset); end
684
+ def field_class_for(name); end
685
+ def new_field(name, value, charset); end
686
+ def respond_to_missing?(method_name, include_private); end
687
+ def unfold(string); end
688
+
689
+ class << self
690
+ def parse(field, charset = T.unsafe(nil)); end
691
+ def split(raw_field); end
692
+ end
693
+ end
694
+
695
+ Mail::Field::FIELDS_MAP = T.let(T.unsafe(nil), Hash)
696
+
697
+ Mail::Field::FIELD_NAME_MAP = T.let(T.unsafe(nil), Hash)
698
+
699
+ Mail::Field::FIELD_ORDER = T.let(T.unsafe(nil), Array)
700
+
701
+ Mail::Field::FIELD_ORDER_LOOKUP = T.let(T.unsafe(nil), Hash)
702
+
703
+ class Mail::Field::FieldError < ::StandardError
704
+ end
705
+
706
+ class Mail::Field::IncompleteParseError < ::Mail::Field::ParseError
707
+ def initialize(element, original_text, unparsed_index); end
708
+ end
709
+
710
+ Mail::Field::KNOWN_FIELDS = T.let(T.unsafe(nil), Array)
711
+
712
+ class Mail::Field::NilParseError < ::Mail::Field::ParseError
713
+ def initialize(element); end
714
+ end
715
+
716
+ class Mail::Field::ParseError < ::Mail::Field::FieldError
717
+ def initialize(element, value, reason); end
718
+
719
+ def element; end
720
+ def element=(_); end
721
+ def reason; end
722
+ def reason=(_); end
723
+ def value; end
724
+ def value=(_); end
725
+
726
+ private
727
+
728
+ def to_utf8(text); end
729
+ end
730
+
731
+ Mail::Field::STRUCTURED_FIELDS = T.let(T.unsafe(nil), Array)
732
+
733
+ class Mail::Field::SyntaxError < ::Mail::Field::FieldError
734
+ end
735
+
736
+ class Mail::FieldList < ::Array
737
+ def <<(new_field); end
738
+ end
739
+
740
+ class Mail::FileDelivery
741
+ def initialize(values); end
742
+
743
+ def deliver!(mail); end
744
+ def settings; end
745
+ def settings=(_); end
746
+ end
747
+
748
+ class Mail::FromField < ::Mail::StructuredField
749
+ include(::Mail::CommonAddress)
750
+
751
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
752
+
753
+ def decoded; end
754
+ def encoded; end
755
+ end
756
+
757
+ Mail::FromField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
758
+
759
+ Mail::FromField::FIELD_NAME = T.let(T.unsafe(nil), String)
760
+
761
+ class Mail::Header
762
+ include(::Mail::Constants)
763
+ include(::Mail::Utilities)
764
+ include(::Enumerable)
765
+
766
+ def initialize(header_text = T.unsafe(nil), charset = T.unsafe(nil)); end
767
+
768
+ def [](name); end
769
+ def []=(name, value); end
770
+ def charset; end
771
+ def charset=(val); end
772
+ def decoded; end
773
+ def encoded; end
774
+ def errors; end
775
+ def field_summary; end
776
+ def fields; end
777
+ def fields=(unfolded_fields); end
778
+ def has_content_id?; end
779
+ def has_date?; end
780
+ def has_message_id?; end
781
+ def has_mime_version?; end
782
+ def raw_source; end
783
+ def to_s; end
784
+
785
+ private
786
+
787
+ def each(&block); end
788
+ def initialize_copy(original); end
789
+ def limited_field?(name); end
790
+ def raw_source=(val); end
791
+ def select_field_for(name); end
792
+ def split_header; end
793
+
794
+ class << self
795
+ def maximum_amount; end
796
+ def maximum_amount=(value); end
797
+ end
798
+ end
799
+
800
+ Mail::Header::LIMITED_FIELDS = T.let(T.unsafe(nil), Array)
801
+
802
+ class Mail::IMAP < ::Mail::Retriever
803
+ def initialize(values); end
804
+
805
+ def connection(&block); end
806
+ def delete_all(mailbox = T.unsafe(nil)); end
807
+ def find(options = T.unsafe(nil), &block); end
808
+ def settings; end
809
+ def settings=(_); end
810
+
811
+ private
812
+
813
+ def start(config = T.unsafe(nil), &block); end
814
+ def validate_options(options); end
815
+ end
816
+
817
+ class Mail::InReplyToField < ::Mail::StructuredField
818
+ include(::Mail::CommonMessageId)
819
+
820
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
821
+
822
+ def decoded; end
823
+ def encoded; end
824
+ end
825
+
826
+ Mail::InReplyToField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
827
+
828
+ Mail::InReplyToField::FIELD_NAME = T.let(T.unsafe(nil), String)
829
+
830
+ class Mail::IndifferentHash < ::Hash
831
+ def initialize(constructor = T.unsafe(nil)); end
832
+
833
+ def []=(key, value); end
834
+ def default(key = T.unsafe(nil)); end
835
+ def delete(key); end
836
+ def dup; end
837
+ def fetch(key, *extras); end
838
+ def has_key?(key); end
839
+ def include?(key); end
840
+ def key?(key); end
841
+ def member?(key); end
842
+ def merge(hash); end
843
+ def merge!(other_hash); end
844
+ def regular_update(*_); end
845
+ def regular_writer(_, _); end
846
+ def reverse_merge(other_hash); end
847
+ def reverse_merge!(other_hash); end
848
+ def store(key, value); end
849
+ def stringify_keys; end
850
+ def stringify_keys!; end
851
+ def symbolize_keys; end
852
+ def to_hash; end
853
+ def to_options!; end
854
+ def update(other_hash); end
855
+ def values_at(*indices); end
856
+
857
+ protected
858
+
859
+ def convert_key(key); end
860
+ def convert_value(value); end
861
+
862
+ class << self
863
+ def new_from_hash_copying_default(hash); end
864
+ end
865
+ end
866
+
867
+ class Mail::KeywordsField < ::Mail::StructuredField
868
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
869
+
870
+ def decoded; end
871
+ def default; end
872
+ def encoded; end
873
+ def keywords; end
874
+ def parse(val = T.unsafe(nil)); end
875
+ def phrase_list; end
876
+ end
877
+
878
+ Mail::KeywordsField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
879
+
880
+ Mail::KeywordsField::FIELD_NAME = T.let(T.unsafe(nil), String)
881
+
882
+ class Mail::LoggerDelivery
883
+ include(::Mail::CheckDeliveryParams)
884
+
885
+ def initialize(settings); end
886
+
887
+ def deliver!(mail); end
888
+ def logger; end
889
+ def settings; end
890
+ def severity; end
891
+
892
+ private
893
+
894
+ def default_logger; end
895
+ def derive_severity(severity); end
896
+ end
897
+
898
+ module Mail::Matchers
899
+ def an_attachment_with_filename(filename); end
900
+ def any_attachment; end
901
+ def have_sent_email; end
902
+ end
903
+
904
+ class Mail::Matchers::AnyAttachmentMatcher
905
+ def ===(other); end
906
+ end
907
+
908
+ class Mail::Matchers::AttachmentFilenameMatcher
909
+ def initialize(filename); end
910
+
911
+ def ===(other); end
912
+ def filename; end
913
+ end
914
+
915
+ class Mail::Matchers::HasSentEmailMatcher
916
+ def initialize(_context); end
917
+
918
+ def bcc(recipient_or_list); end
919
+ def cc(recipient_or_list); end
920
+ def description; end
921
+ def failure_message; end
922
+ def failure_message_when_negated; end
923
+ def from(sender); end
924
+ def matches?(subject); end
925
+ def matching_body(body_matcher); end
926
+ def matching_subject(subject_matcher); end
927
+ def to(recipient_or_list); end
928
+ def with_any_attachments; end
929
+ def with_attachments(attachments); end
930
+ def with_body(body); end
931
+ def with_html(body); end
932
+ def with_no_attachments; end
933
+ def with_subject(subject); end
934
+ def with_text(body); end
935
+
936
+ protected
937
+
938
+ def dump_deliveries; end
939
+ def explain_expectations; end
940
+ def filter_matched_deliveries(deliveries); end
941
+ def matches_on_attachments?(delivery); end
942
+ def matches_on_blind_copy_recipients?(delivery); end
943
+ def matches_on_body?(delivery); end
944
+ def matches_on_body_matcher?(delivery); end
945
+ def matches_on_copy_recipients?(delivery); end
946
+ def matches_on_having_attachments?(delivery); end
947
+ def matches_on_html_part_body?(delivery); end
948
+ def matches_on_recipients?(delivery); end
949
+ def matches_on_sender?(delivery); end
950
+ def matches_on_subject?(delivery); end
951
+ def matches_on_subject_matcher?(delivery); end
952
+ def matches_on_text_part_body?(delivery); end
953
+ end
954
+
955
+ class Mail::Message
956
+ include(::Mail::Constants)
957
+ include(::Mail::Utilities)
958
+
959
+ def initialize(*args, &block); end
960
+
961
+ def <=>(other); end
962
+ def ==(other); end
963
+ def [](name); end
964
+ def []=(name, value); end
965
+ def action; end
966
+ def add_charset; end
967
+ def add_content_transfer_encoding; end
968
+ def add_content_type; end
969
+ def add_date(date_val = T.unsafe(nil)); end
970
+ def add_file(values); end
971
+ def add_message_id(msg_id_val = T.unsafe(nil)); end
972
+ def add_mime_version(ver_val = T.unsafe(nil)); end
973
+ def add_part(part); end
974
+ def add_transfer_encoding; end
975
+ def all_parts; end
976
+ def attachment; end
977
+ def attachment?; end
978
+ def attachments; end
979
+ def bcc(val = T.unsafe(nil)); end
980
+ def bcc=(val); end
981
+ def bcc_addresses; end
982
+ def bcc_addrs; end
983
+ def body(value = T.unsafe(nil)); end
984
+ def body=(value); end
985
+ def body_encoding(value = T.unsafe(nil)); end
986
+ def body_encoding=(value); end
987
+ def bounced?; end
988
+ def boundary; end
989
+ def cc(val = T.unsafe(nil)); end
990
+ def cc=(val); end
991
+ def cc_addresses; end
992
+ def cc_addrs; end
993
+ def charset; end
994
+ def charset=(value); end
995
+ def comments(val = T.unsafe(nil)); end
996
+ def comments=(val); end
997
+ def content_description(val = T.unsafe(nil)); end
998
+ def content_description=(val); end
999
+ def content_disposition(val = T.unsafe(nil)); end
1000
+ def content_disposition=(val); end
1001
+ def content_id(val = T.unsafe(nil)); end
1002
+ def content_id=(val); end
1003
+ def content_location(val = T.unsafe(nil)); end
1004
+ def content_location=(val); end
1005
+ def content_transfer_encoding(val = T.unsafe(nil)); end
1006
+ def content_transfer_encoding=(val); end
1007
+ def content_type(val = T.unsafe(nil)); end
1008
+ def content_type=(val); end
1009
+ def content_type_parameters; end
1010
+ def convert_to_multipart; end
1011
+ def date(val = T.unsafe(nil)); end
1012
+ def date=(val); end
1013
+ def decode_body; end
1014
+ def decoded; end
1015
+ def default(sym, val = T.unsafe(nil)); end
1016
+ def deliver; end
1017
+ def deliver!; end
1018
+ def delivery_handler; end
1019
+ def delivery_handler=(_); end
1020
+ def delivery_method(method = T.unsafe(nil), settings = T.unsafe(nil)); end
1021
+ def delivery_status_part; end
1022
+ def delivery_status_report?; end
1023
+ def destinations; end
1024
+ def diagnostic_code; end
1025
+ def encode!; end
1026
+ def encoded; end
1027
+ def envelope_date; end
1028
+ def envelope_from; end
1029
+ def error_status; end
1030
+ def errors; end
1031
+ def filename; end
1032
+ def final_recipient; end
1033
+ def find_first_mime_type(mt); end
1034
+ def from(val = T.unsafe(nil)); end
1035
+ def from=(val); end
1036
+ def from_address; end
1037
+ def from_addrs; end
1038
+ def has_attachments?; end
1039
+ def has_charset?; end
1040
+ def has_content_transfer_encoding?; end
1041
+ def has_content_type?; end
1042
+ def has_date?; end
1043
+ def has_message_id?; end
1044
+ def has_mime_version?; end
1045
+ def has_transfer_encoding?; end
1046
+ def header(value = T.unsafe(nil)); end
1047
+ def header=(value); end
1048
+ def header_fields; end
1049
+ def headers(hash = T.unsafe(nil)); end
1050
+ def html_part(&block); end
1051
+ def html_part=(msg); end
1052
+ def in_reply_to(val = T.unsafe(nil)); end
1053
+ def in_reply_to=(val); end
1054
+ def inform_interceptors; end
1055
+ def inform_observers; end
1056
+ def inspect; end
1057
+ def is_marked_for_delete?; end
1058
+ def keywords(val = T.unsafe(nil)); end
1059
+ def keywords=(val); end
1060
+ def main_type; end
1061
+ def mark_for_delete=(value = T.unsafe(nil)); end
1062
+ def message_content_type; end
1063
+ def message_id(val = T.unsafe(nil)); end
1064
+ def message_id=(val); end
1065
+ def method_missing(name, *args, &block); end
1066
+ def mime_parameters; end
1067
+ def mime_type; end
1068
+ def mime_version(val = T.unsafe(nil)); end
1069
+ def mime_version=(val); end
1070
+ def multipart?; end
1071
+ def multipart_report?; end
1072
+ def part(params = T.unsafe(nil)); end
1073
+ def parts; end
1074
+ def perform_deliveries; end
1075
+ def perform_deliveries=(_); end
1076
+ def raise_delivery_errors; end
1077
+ def raise_delivery_errors=(_); end
1078
+ def raw_envelope; end
1079
+ def raw_source; end
1080
+ def read; end
1081
+ def ready_to_send!; end
1082
+ def received(val = T.unsafe(nil)); end
1083
+ def received=(val); end
1084
+ def recipients; end
1085
+ def recipients_addresses; end
1086
+ def references(val = T.unsafe(nil)); end
1087
+ def references=(val); end
1088
+ def register_for_delivery_notification(observer); end
1089
+ def remote_mta; end
1090
+ def reply(*args, &block); end
1091
+ def reply_to(val = T.unsafe(nil)); end
1092
+ def reply_to=(val); end
1093
+ def resent_bcc(val = T.unsafe(nil)); end
1094
+ def resent_bcc=(val); end
1095
+ def resent_cc(val = T.unsafe(nil)); end
1096
+ def resent_cc=(val); end
1097
+ def resent_date(val = T.unsafe(nil)); end
1098
+ def resent_date=(val); end
1099
+ def resent_from(val = T.unsafe(nil)); end
1100
+ def resent_from=(val); end
1101
+ def resent_message_id(val = T.unsafe(nil)); end
1102
+ def resent_message_id=(val); end
1103
+ def resent_sender(val = T.unsafe(nil)); end
1104
+ def resent_sender=(val); end
1105
+ def resent_to(val = T.unsafe(nil)); end
1106
+ def resent_to=(val); end
1107
+ def retryable?; end
1108
+ def return_path(val = T.unsafe(nil)); end
1109
+ def return_path=(val); end
1110
+ def sender(val = T.unsafe(nil)); end
1111
+ def sender=(val); end
1112
+ def set_envelope(val); end
1113
+ def skip_deletion; end
1114
+ def smtp_envelope_from(val = T.unsafe(nil)); end
1115
+ def smtp_envelope_from=(val); end
1116
+ def smtp_envelope_to(val = T.unsafe(nil)); end
1117
+ def smtp_envelope_to=(val); end
1118
+ def sub_type; end
1119
+ def subject(val = T.unsafe(nil)); end
1120
+ def subject=(val); end
1121
+ def text?; end
1122
+ def text_part(&block); end
1123
+ def text_part=(msg); end
1124
+ def to(val = T.unsafe(nil)); end
1125
+ def to=(val); end
1126
+ def to_addresses; end
1127
+ def to_addrs; end
1128
+ def to_s; end
1129
+ def to_yaml(opts = T.unsafe(nil)); end
1130
+ def transfer_encoding; end
1131
+ def transport_encoding(val = T.unsafe(nil)); end
1132
+ def transport_encoding=(val); end
1133
+ def without_attachments!; end
1134
+ def x_original_to_addresses; end
1135
+
1136
+ private
1137
+
1138
+ def add_boundary; end
1139
+ def add_encoding_to_body; end
1140
+ def add_multipart_alternate_header; end
1141
+ def add_multipart_mixed_header; end
1142
+ def add_required_fields; end
1143
+ def add_required_message_fields; end
1144
+ def allowed_encodings; end
1145
+ def body_lazy(value); end
1146
+ def decode_body_as_text; end
1147
+ def do_delivery; end
1148
+ def find_attachment; end
1149
+ def identify_and_set_transfer_encoding; end
1150
+ def init_with_hash(hash); end
1151
+ def init_with_string(string); end
1152
+ def initialize_copy(original); end
1153
+ def parse_message; end
1154
+ def process_body_raw; end
1155
+ def raw_source=(value); end
1156
+ def separate_parts; end
1157
+ def set_envelope_header; end
1158
+
1159
+ class << self
1160
+ def default_charset; end
1161
+ def default_charset=(charset); end
1162
+ def from_hash(hash); end
1163
+ def from_yaml(str); end
1164
+ end
1165
+ end
1166
+
1167
+ Mail::Message::HEADER_SEPARATOR = T.let(T.unsafe(nil), Regexp)
1168
+
1169
+ class Mail::MessageIdField < ::Mail::StructuredField
1170
+ include(::Mail::CommonMessageId)
1171
+
1172
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
1173
+
1174
+ def decoded; end
1175
+ def encoded; end
1176
+ def message_ids; end
1177
+ def name; end
1178
+ def to_s; end
1179
+
1180
+ private
1181
+
1182
+ def generate_message_id; end
1183
+ end
1184
+
1185
+ Mail::MessageIdField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
1186
+
1187
+ Mail::MessageIdField::FIELD_NAME = T.let(T.unsafe(nil), String)
1188
+
1189
+ class Mail::MessageIdsElement
1190
+ def initialize(string); end
1191
+
1192
+ def message_id; end
1193
+ def message_ids; end
1194
+
1195
+ private
1196
+
1197
+ def clean_msg_id(val); end
1198
+ end
1199
+
1200
+ class Mail::MimeVersionElement
1201
+ def initialize(string); end
1202
+
1203
+ def major; end
1204
+ def minor; end
1205
+ end
1206
+
1207
+ class Mail::MimeVersionField < ::Mail::StructuredField
1208
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
1209
+
1210
+ def decoded; end
1211
+ def element; end
1212
+ def encoded; end
1213
+ def major; end
1214
+ def minor; end
1215
+ def parse(val = T.unsafe(nil)); end
1216
+ def version; end
1217
+ end
1218
+
1219
+ Mail::MimeVersionField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
1220
+
1221
+ Mail::MimeVersionField::FIELD_NAME = T.let(T.unsafe(nil), String)
1222
+
1223
+ module Mail::Multibyte
1224
+ class << self
1225
+ def clean(string); end
1226
+ def mb_chars(str); end
1227
+ def proxy_class; end
1228
+ def proxy_class=(_); end
1229
+ def valid_character; end
1230
+ def verify(string); end
1231
+ def verify!(string); end
1232
+ end
1233
+ end
1234
+
1235
+ class Mail::Multibyte::Chars
1236
+ include(::Comparable)
1237
+
1238
+ def initialize(string); end
1239
+
1240
+ def <=>(other); end
1241
+ def =~(other); end
1242
+ def [](*args); end
1243
+ def []=(*args); end
1244
+ def acts_like_string?; end
1245
+ def capitalize; end
1246
+ def capitalize!(*args); end
1247
+ def compose; end
1248
+ def decompose; end
1249
+ def downcase; end
1250
+ def downcase!(*args); end
1251
+ def g_length; end
1252
+ def limit(limit); end
1253
+ def method_missing(method, *args, &block); end
1254
+ def normalize(form = T.unsafe(nil)); end
1255
+ def respond_to?(method, include_private = T.unsafe(nil)); end
1256
+ def reverse; end
1257
+ def reverse!(*args); end
1258
+ def slice(*args); end
1259
+ def slice!(*args); end
1260
+ def split(*args); end
1261
+ def tidy_bytes(force = T.unsafe(nil)); end
1262
+ def tidy_bytes!(*args); end
1263
+ def titlecase; end
1264
+ def titleize; end
1265
+ def to_s; end
1266
+ def to_str; end
1267
+ def upcase; end
1268
+ def upcase!(*args); end
1269
+ def wrapped_string; end
1270
+
1271
+ protected
1272
+
1273
+ def chars(string); end
1274
+ def justify(integer, way, padstr = T.unsafe(nil)); end
1275
+ def padding(padsize, padstr = T.unsafe(nil)); end
1276
+ def translate_offset(byte_offset); end
1277
+
1278
+ class << self
1279
+ def consumes?(string); end
1280
+ end
1281
+ end
1282
+
1283
+ class Mail::Multibyte::EncodingError < ::StandardError
1284
+ end
1285
+
1286
+ module Mail::Multibyte::Unicode
1287
+ extend(::Mail::Multibyte::Unicode)
1288
+
1289
+ def apply_mapping(string, mapping); end
1290
+ def compose_codepoints(codepoints); end
1291
+ def decompose_codepoints(type, codepoints); end
1292
+ def default_normalization_form; end
1293
+ def default_normalization_form=(_); end
1294
+ def g_pack(unpacked); end
1295
+ def g_unpack(string); end
1296
+ def in_char_class?(codepoint, classes); end
1297
+ def normalize(string, form = T.unsafe(nil)); end
1298
+ def reorder_characters(codepoints); end
1299
+ def tidy_bytes(string, force = T.unsafe(nil)); end
1300
+ def u_unpack(string); end
1301
+
1302
+ private
1303
+
1304
+ def database; end
1305
+ def tidy_byte(byte); end
1306
+
1307
+ class << self
1308
+ def codepoints_to_pattern(array_of_codepoints); end
1309
+ end
1310
+ end
1311
+
1312
+ class Mail::Multibyte::Unicode::Codepoint
1313
+ def initialize; end
1314
+
1315
+ def code; end
1316
+ def code=(_); end
1317
+ def combining_class; end
1318
+ def combining_class=(_); end
1319
+ def decomp_mapping; end
1320
+ def decomp_mapping=(_); end
1321
+ def decomp_type; end
1322
+ def decomp_type=(_); end
1323
+ def lowercase_mapping; end
1324
+ def lowercase_mapping=(_); end
1325
+ def swapcase_mapping; end
1326
+ def uppercase_mapping; end
1327
+ def uppercase_mapping=(_); end
1328
+ end
1329
+
1330
+ Mail::Multibyte::Unicode::HANGUL_JAMO_FIRST = T.let(T.unsafe(nil), Integer)
1331
+
1332
+ Mail::Multibyte::Unicode::HANGUL_JAMO_LAST = T.let(T.unsafe(nil), Integer)
1333
+
1334
+ Mail::Multibyte::Unicode::HANGUL_LBASE = T.let(T.unsafe(nil), Integer)
1335
+
1336
+ Mail::Multibyte::Unicode::HANGUL_LCOUNT = T.let(T.unsafe(nil), Integer)
1337
+
1338
+ Mail::Multibyte::Unicode::HANGUL_NCOUNT = T.let(T.unsafe(nil), Integer)
1339
+
1340
+ Mail::Multibyte::Unicode::HANGUL_SBASE = T.let(T.unsafe(nil), Integer)
1341
+
1342
+ Mail::Multibyte::Unicode::HANGUL_SCOUNT = T.let(T.unsafe(nil), Integer)
1343
+
1344
+ Mail::Multibyte::Unicode::HANGUL_SLAST = T.let(T.unsafe(nil), Integer)
1345
+
1346
+ Mail::Multibyte::Unicode::HANGUL_TBASE = T.let(T.unsafe(nil), Integer)
1347
+
1348
+ Mail::Multibyte::Unicode::HANGUL_TCOUNT = T.let(T.unsafe(nil), Integer)
1349
+
1350
+ Mail::Multibyte::Unicode::HANGUL_VBASE = T.let(T.unsafe(nil), Integer)
1351
+
1352
+ Mail::Multibyte::Unicode::HANGUL_VCOUNT = T.let(T.unsafe(nil), Integer)
1353
+
1354
+ Mail::Multibyte::Unicode::LEADERS_AND_TRAILERS = T.let(T.unsafe(nil), Array)
1355
+
1356
+ Mail::Multibyte::Unicode::LEADERS_PAT = T.let(T.unsafe(nil), Regexp)
1357
+
1358
+ Mail::Multibyte::Unicode::NORMALIZATION_FORMS = T.let(T.unsafe(nil), Array)
1359
+
1360
+ Mail::Multibyte::Unicode::TRAILERS_PAT = T.let(T.unsafe(nil), Regexp)
1361
+
1362
+ Mail::Multibyte::Unicode::UNICODE_VERSION = T.let(T.unsafe(nil), String)
1363
+
1364
+ class Mail::Multibyte::Unicode::UnicodeDatabase
1365
+ def initialize; end
1366
+
1367
+ def boundary; end
1368
+ def boundary=(_); end
1369
+ def codepoints; end
1370
+ def codepoints=(_); end
1371
+ def composition_exclusion; end
1372
+ def composition_exclusion=(_); end
1373
+ def composition_map; end
1374
+ def composition_map=(_); end
1375
+ def cp1252; end
1376
+ def cp1252=(_); end
1377
+ def load; end
1378
+
1379
+ class << self
1380
+ def dirname; end
1381
+ def filename; end
1382
+ end
1383
+ end
1384
+
1385
+ Mail::Multibyte::Unicode::UnicodeDatabase::ATTRIBUTES = T.let(T.unsafe(nil), Array)
1386
+
1387
+ Mail::Multibyte::Unicode::WHITESPACE = T.let(T.unsafe(nil), Array)
1388
+
1389
+ Mail::Multibyte::VALID_CHARACTER = T.let(T.unsafe(nil), Hash)
1390
+
1391
+ class Mail::OptionalField < ::Mail::UnstructuredField
1392
+
1393
+ private
1394
+
1395
+ def do_encode; end
1396
+ end
1397
+
1398
+ class Mail::POP3 < ::Mail::Retriever
1399
+ def initialize(values); end
1400
+
1401
+ def connection(&block); end
1402
+ def delete_all; end
1403
+ def find(options = T.unsafe(nil), &block); end
1404
+ def settings; end
1405
+ def settings=(_); end
1406
+
1407
+ private
1408
+
1409
+ def start(config = T.unsafe(nil), &block); end
1410
+ def validate_options(options); end
1411
+ end
1412
+
1413
+ class Mail::ParameterHash < ::Mail::IndifferentHash
1414
+ include(::Mail::Constants)
1415
+ include(::Mail::Utilities)
1416
+
1417
+ def [](key_name); end
1418
+ def decoded; end
1419
+ def encoded; end
1420
+ end
1421
+
1422
+ module Mail::ParserTools
1423
+ def chars(data, from_bytes, to_bytes); end
1424
+ end
1425
+
1426
+ module Mail::Parsers
1427
+ end
1428
+
1429
+ module Mail::Parsers::AddressListsParser
1430
+ extend(::Mail::ParserTools)
1431
+
1432
+ class << self
1433
+ def en_comment_tail; end
1434
+ def en_comment_tail=(_); end
1435
+ def en_main; end
1436
+ def en_main=(_); end
1437
+ def error; end
1438
+ def error=(_); end
1439
+ def first_final; end
1440
+ def first_final=(_); end
1441
+ def parse(data); end
1442
+ def start; end
1443
+ def start=(_); end
1444
+
1445
+ private
1446
+
1447
+ def _eof_actions; end
1448
+ def _eof_actions=(_); end
1449
+ def _index_offsets; end
1450
+ def _index_offsets=(_); end
1451
+ def _indicies; end
1452
+ def _indicies=(_); end
1453
+ def _key_spans; end
1454
+ def _key_spans=(_); end
1455
+ def _trans_actions; end
1456
+ def _trans_actions=(_); end
1457
+ def _trans_keys; end
1458
+ def _trans_keys=(_); end
1459
+ def _trans_targs; end
1460
+ def _trans_targs=(_); end
1461
+ end
1462
+ end
1463
+
1464
+ class Mail::Parsers::AddressListsParser::AddressListStruct < ::Struct
1465
+ def addresses; end
1466
+ def addresses=(_); end
1467
+ def error; end
1468
+ def error=(_); end
1469
+ def group_names; end
1470
+ def group_names=(_); end
1471
+
1472
+ class << self
1473
+ def [](*_); end
1474
+ def inspect; end
1475
+ def members; end
1476
+ def new(*_); end
1477
+ end
1478
+ end
1479
+
1480
+ class Mail::Parsers::AddressListsParser::AddressStruct < ::Struct
1481
+ def comments; end
1482
+ def comments=(_); end
1483
+ def display_name; end
1484
+ def display_name=(_); end
1485
+ def domain; end
1486
+ def domain=(_); end
1487
+ def error; end
1488
+ def error=(_); end
1489
+ def group; end
1490
+ def group=(_); end
1491
+ def local; end
1492
+ def local=(_); end
1493
+ def obs_domain_list; end
1494
+ def obs_domain_list=(_); end
1495
+ def raw; end
1496
+ def raw=(_); end
1497
+
1498
+ class << self
1499
+ def [](*_); end
1500
+ def inspect; end
1501
+ def members; end
1502
+ def new(*_); end
1503
+ end
1504
+ end
1505
+
1506
+ module Mail::Parsers::ContentDispositionParser
1507
+ extend(::Mail::ParserTools)
1508
+
1509
+ class << self
1510
+ def en_comment_tail; end
1511
+ def en_comment_tail=(_); end
1512
+ def en_main; end
1513
+ def en_main=(_); end
1514
+ def error; end
1515
+ def error=(_); end
1516
+ def first_final; end
1517
+ def first_final=(_); end
1518
+ def parse(data); end
1519
+ def start; end
1520
+ def start=(_); end
1521
+
1522
+ private
1523
+
1524
+ def _eof_actions; end
1525
+ def _eof_actions=(_); end
1526
+ def _index_offsets; end
1527
+ def _index_offsets=(_); end
1528
+ def _indicies; end
1529
+ def _indicies=(_); end
1530
+ def _key_spans; end
1531
+ def _key_spans=(_); end
1532
+ def _trans_actions; end
1533
+ def _trans_actions=(_); end
1534
+ def _trans_keys; end
1535
+ def _trans_keys=(_); end
1536
+ def _trans_targs; end
1537
+ def _trans_targs=(_); end
1538
+ end
1539
+ end
1540
+
1541
+ class Mail::Parsers::ContentDispositionParser::ContentDispositionStruct < ::Struct
1542
+ def disposition_type; end
1543
+ def disposition_type=(_); end
1544
+ def error; end
1545
+ def error=(_); end
1546
+ def parameters; end
1547
+ def parameters=(_); end
1548
+
1549
+ class << self
1550
+ def [](*_); end
1551
+ def inspect; end
1552
+ def members; end
1553
+ def new(*_); end
1554
+ end
1555
+ end
1556
+
1557
+ module Mail::Parsers::ContentLocationParser
1558
+ extend(::Mail::ParserTools)
1559
+
1560
+ class << self
1561
+ def en_comment_tail; end
1562
+ def en_comment_tail=(_); end
1563
+ def en_main; end
1564
+ def en_main=(_); end
1565
+ def error; end
1566
+ def error=(_); end
1567
+ def first_final; end
1568
+ def first_final=(_); end
1569
+ def parse(data); end
1570
+ def start; end
1571
+ def start=(_); end
1572
+
1573
+ private
1574
+
1575
+ def _eof_actions; end
1576
+ def _eof_actions=(_); end
1577
+ def _index_offsets; end
1578
+ def _index_offsets=(_); end
1579
+ def _indicies; end
1580
+ def _indicies=(_); end
1581
+ def _key_spans; end
1582
+ def _key_spans=(_); end
1583
+ def _trans_actions; end
1584
+ def _trans_actions=(_); end
1585
+ def _trans_keys; end
1586
+ def _trans_keys=(_); end
1587
+ def _trans_targs; end
1588
+ def _trans_targs=(_); end
1589
+ end
1590
+ end
1591
+
1592
+ class Mail::Parsers::ContentLocationParser::ContentLocationStruct < ::Struct
1593
+ def error; end
1594
+ def error=(_); end
1595
+ def location; end
1596
+ def location=(_); end
1597
+
1598
+ class << self
1599
+ def [](*_); end
1600
+ def inspect; end
1601
+ def members; end
1602
+ def new(*_); end
1603
+ end
1604
+ end
1605
+
1606
+ module Mail::Parsers::ContentTransferEncodingParser
1607
+ extend(::Mail::ParserTools)
1608
+
1609
+ class << self
1610
+ def en_comment_tail; end
1611
+ def en_comment_tail=(_); end
1612
+ def en_main; end
1613
+ def en_main=(_); end
1614
+ def error; end
1615
+ def error=(_); end
1616
+ def first_final; end
1617
+ def first_final=(_); end
1618
+ def parse(data); end
1619
+ def start; end
1620
+ def start=(_); end
1621
+
1622
+ private
1623
+
1624
+ def _eof_actions; end
1625
+ def _eof_actions=(_); end
1626
+ def _index_offsets; end
1627
+ def _index_offsets=(_); end
1628
+ def _indicies; end
1629
+ def _indicies=(_); end
1630
+ def _key_spans; end
1631
+ def _key_spans=(_); end
1632
+ def _trans_actions; end
1633
+ def _trans_actions=(_); end
1634
+ def _trans_keys; end
1635
+ def _trans_keys=(_); end
1636
+ def _trans_targs; end
1637
+ def _trans_targs=(_); end
1638
+ end
1639
+ end
1640
+
1641
+ class Mail::Parsers::ContentTransferEncodingParser::ContentTransferEncodingStruct < ::Struct
1642
+ def encoding; end
1643
+ def encoding=(_); end
1644
+ def error; end
1645
+ def error=(_); end
1646
+
1647
+ class << self
1648
+ def [](*_); end
1649
+ def inspect; end
1650
+ def members; end
1651
+ def new(*_); end
1652
+ end
1653
+ end
1654
+
1655
+ module Mail::Parsers::ContentTypeParser
1656
+ extend(::Mail::ParserTools)
1657
+
1658
+ class << self
1659
+ def en_comment_tail; end
1660
+ def en_comment_tail=(_); end
1661
+ def en_main; end
1662
+ def en_main=(_); end
1663
+ def error; end
1664
+ def error=(_); end
1665
+ def first_final; end
1666
+ def first_final=(_); end
1667
+ def parse(data); end
1668
+ def start; end
1669
+ def start=(_); end
1670
+
1671
+ private
1672
+
1673
+ def _eof_actions; end
1674
+ def _eof_actions=(_); end
1675
+ def _index_offsets; end
1676
+ def _index_offsets=(_); end
1677
+ def _indicies; end
1678
+ def _indicies=(_); end
1679
+ def _key_spans; end
1680
+ def _key_spans=(_); end
1681
+ def _trans_actions; end
1682
+ def _trans_actions=(_); end
1683
+ def _trans_keys; end
1684
+ def _trans_keys=(_); end
1685
+ def _trans_targs; end
1686
+ def _trans_targs=(_); end
1687
+ end
1688
+ end
1689
+
1690
+ class Mail::Parsers::ContentTypeParser::ContentTypeStruct < ::Struct
1691
+ def error; end
1692
+ def error=(_); end
1693
+ def main_type; end
1694
+ def main_type=(_); end
1695
+ def parameters; end
1696
+ def parameters=(_); end
1697
+ def sub_type; end
1698
+ def sub_type=(_); end
1699
+
1700
+ class << self
1701
+ def [](*_); end
1702
+ def inspect; end
1703
+ def members; end
1704
+ def new(*_); end
1705
+ end
1706
+ end
1707
+
1708
+ module Mail::Parsers::DateTimeParser
1709
+ extend(::Mail::ParserTools)
1710
+
1711
+ class << self
1712
+ def en_comment_tail; end
1713
+ def en_comment_tail=(_); end
1714
+ def en_main; end
1715
+ def en_main=(_); end
1716
+ def error; end
1717
+ def error=(_); end
1718
+ def first_final; end
1719
+ def first_final=(_); end
1720
+ def parse(data); end
1721
+ def start; end
1722
+ def start=(_); end
1723
+
1724
+ private
1725
+
1726
+ def _eof_actions; end
1727
+ def _eof_actions=(_); end
1728
+ def _index_offsets; end
1729
+ def _index_offsets=(_); end
1730
+ def _indicies; end
1731
+ def _indicies=(_); end
1732
+ def _key_spans; end
1733
+ def _key_spans=(_); end
1734
+ def _trans_actions; end
1735
+ def _trans_actions=(_); end
1736
+ def _trans_keys; end
1737
+ def _trans_keys=(_); end
1738
+ def _trans_targs; end
1739
+ def _trans_targs=(_); end
1740
+ end
1741
+ end
1742
+
1743
+ class Mail::Parsers::DateTimeParser::DateTimeStruct < ::Struct
1744
+ def date_string; end
1745
+ def date_string=(_); end
1746
+ def error; end
1747
+ def error=(_); end
1748
+ def time_string; end
1749
+ def time_string=(_); end
1750
+
1751
+ class << self
1752
+ def [](*_); end
1753
+ def inspect; end
1754
+ def members; end
1755
+ def new(*_); end
1756
+ end
1757
+ end
1758
+
1759
+ module Mail::Parsers::EnvelopeFromParser
1760
+ extend(::Mail::ParserTools)
1761
+
1762
+ class << self
1763
+ def en_comment_tail; end
1764
+ def en_comment_tail=(_); end
1765
+ def en_main; end
1766
+ def en_main=(_); end
1767
+ def error; end
1768
+ def error=(_); end
1769
+ def first_final; end
1770
+ def first_final=(_); end
1771
+ def parse(data); end
1772
+ def start; end
1773
+ def start=(_); end
1774
+
1775
+ private
1776
+
1777
+ def _eof_actions; end
1778
+ def _eof_actions=(_); end
1779
+ def _index_offsets; end
1780
+ def _index_offsets=(_); end
1781
+ def _indicies; end
1782
+ def _indicies=(_); end
1783
+ def _key_spans; end
1784
+ def _key_spans=(_); end
1785
+ def _trans_actions; end
1786
+ def _trans_actions=(_); end
1787
+ def _trans_keys; end
1788
+ def _trans_keys=(_); end
1789
+ def _trans_targs; end
1790
+ def _trans_targs=(_); end
1791
+ end
1792
+ end
1793
+
1794
+ class Mail::Parsers::EnvelopeFromParser::EnvelopeFromStruct < ::Struct
1795
+ def address; end
1796
+ def address=(_); end
1797
+ def ctime_date; end
1798
+ def ctime_date=(_); end
1799
+ def error; end
1800
+ def error=(_); end
1801
+
1802
+ class << self
1803
+ def [](*_); end
1804
+ def inspect; end
1805
+ def members; end
1806
+ def new(*_); end
1807
+ end
1808
+ end
1809
+
1810
+ module Mail::Parsers::MessageIdsParser
1811
+ extend(::Mail::ParserTools)
1812
+
1813
+ class << self
1814
+ def en_comment_tail; end
1815
+ def en_comment_tail=(_); end
1816
+ def en_main; end
1817
+ def en_main=(_); end
1818
+ def error; end
1819
+ def error=(_); end
1820
+ def first_final; end
1821
+ def first_final=(_); end
1822
+ def parse(data); end
1823
+ def start; end
1824
+ def start=(_); end
1825
+
1826
+ private
1827
+
1828
+ def _eof_actions; end
1829
+ def _eof_actions=(_); end
1830
+ def _index_offsets; end
1831
+ def _index_offsets=(_); end
1832
+ def _indicies; end
1833
+ def _indicies=(_); end
1834
+ def _key_spans; end
1835
+ def _key_spans=(_); end
1836
+ def _trans_actions; end
1837
+ def _trans_actions=(_); end
1838
+ def _trans_keys; end
1839
+ def _trans_keys=(_); end
1840
+ def _trans_targs; end
1841
+ def _trans_targs=(_); end
1842
+ end
1843
+ end
1844
+
1845
+ class Mail::Parsers::MessageIdsParser::MessageIdsStruct < ::Struct
1846
+ def error; end
1847
+ def error=(_); end
1848
+ def message_ids; end
1849
+ def message_ids=(_); end
1850
+
1851
+ class << self
1852
+ def [](*_); end
1853
+ def inspect; end
1854
+ def members; end
1855
+ def new(*_); end
1856
+ end
1857
+ end
1858
+
1859
+ module Mail::Parsers::MimeVersionParser
1860
+ extend(::Mail::ParserTools)
1861
+
1862
+ class << self
1863
+ def en_comment_tail; end
1864
+ def en_comment_tail=(_); end
1865
+ def en_main; end
1866
+ def en_main=(_); end
1867
+ def error; end
1868
+ def error=(_); end
1869
+ def first_final; end
1870
+ def first_final=(_); end
1871
+ def parse(data); end
1872
+ def start; end
1873
+ def start=(_); end
1874
+
1875
+ private
1876
+
1877
+ def _eof_actions; end
1878
+ def _eof_actions=(_); end
1879
+ def _index_offsets; end
1880
+ def _index_offsets=(_); end
1881
+ def _indicies; end
1882
+ def _indicies=(_); end
1883
+ def _key_spans; end
1884
+ def _key_spans=(_); end
1885
+ def _trans_actions; end
1886
+ def _trans_actions=(_); end
1887
+ def _trans_keys; end
1888
+ def _trans_keys=(_); end
1889
+ def _trans_targs; end
1890
+ def _trans_targs=(_); end
1891
+ end
1892
+ end
1893
+
1894
+ class Mail::Parsers::MimeVersionParser::MimeVersionStruct < ::Struct
1895
+ def error; end
1896
+ def error=(_); end
1897
+ def major; end
1898
+ def major=(_); end
1899
+ def minor; end
1900
+ def minor=(_); end
1901
+
1902
+ class << self
1903
+ def [](*_); end
1904
+ def inspect; end
1905
+ def members; end
1906
+ def new(*_); end
1907
+ end
1908
+ end
1909
+
1910
+ class Mail::Parsers::PhraseListsParser
1911
+ extend(::Mail::ParserTools)
1912
+
1913
+ class << self
1914
+ def en_comment_tail; end
1915
+ def en_comment_tail=(_); end
1916
+ def en_main; end
1917
+ def en_main=(_); end
1918
+ def error; end
1919
+ def error=(_); end
1920
+ def first_final; end
1921
+ def first_final=(_); end
1922
+ def parse(data); end
1923
+ def start; end
1924
+ def start=(_); end
1925
+
1926
+ private
1927
+
1928
+ def _eof_actions; end
1929
+ def _eof_actions=(_); end
1930
+ def _index_offsets; end
1931
+ def _index_offsets=(_); end
1932
+ def _indicies; end
1933
+ def _indicies=(_); end
1934
+ def _key_spans; end
1935
+ def _key_spans=(_); end
1936
+ def _trans_actions; end
1937
+ def _trans_actions=(_); end
1938
+ def _trans_keys; end
1939
+ def _trans_keys=(_); end
1940
+ def _trans_targs; end
1941
+ def _trans_targs=(_); end
1942
+ end
1943
+ end
1944
+
1945
+ class Mail::Parsers::PhraseListsParser::PhraseListsStruct < ::Struct
1946
+ def error; end
1947
+ def error=(_); end
1948
+ def phrases; end
1949
+ def phrases=(_); end
1950
+
1951
+ class << self
1952
+ def [](*_); end
1953
+ def inspect; end
1954
+ def members; end
1955
+ def new(*_); end
1956
+ end
1957
+ end
1958
+
1959
+ module Mail::Parsers::ReceivedParser
1960
+ extend(::Mail::ParserTools)
1961
+
1962
+ class << self
1963
+ def en_comment_tail; end
1964
+ def en_comment_tail=(_); end
1965
+ def en_main; end
1966
+ def en_main=(_); end
1967
+ def error; end
1968
+ def error=(_); end
1969
+ def first_final; end
1970
+ def first_final=(_); end
1971
+ def parse(data); end
1972
+ def start; end
1973
+ def start=(_); end
1974
+
1975
+ private
1976
+
1977
+ def _eof_actions; end
1978
+ def _eof_actions=(_); end
1979
+ def _index_offsets; end
1980
+ def _index_offsets=(_); end
1981
+ def _indicies; end
1982
+ def _indicies=(_); end
1983
+ def _key_spans; end
1984
+ def _key_spans=(_); end
1985
+ def _trans_actions; end
1986
+ def _trans_actions=(_); end
1987
+ def _trans_keys; end
1988
+ def _trans_keys=(_); end
1989
+ def _trans_targs; end
1990
+ def _trans_targs=(_); end
1991
+ end
1992
+ end
1993
+
1994
+ class Mail::Parsers::ReceivedParser::ReceivedStruct < ::Struct
1995
+ def date; end
1996
+ def date=(_); end
1997
+ def error; end
1998
+ def error=(_); end
1999
+ def info; end
2000
+ def info=(_); end
2001
+ def time; end
2002
+ def time=(_); end
2003
+
2004
+ class << self
2005
+ def [](*_); end
2006
+ def inspect; end
2007
+ def members; end
2008
+ def new(*_); end
2009
+ end
2010
+ end
2011
+
2012
+ class Mail::Part < ::Mail::Message
2013
+ def action; end
2014
+ def add_content_id(content_id_val = T.unsafe(nil)); end
2015
+ def add_required_fields; end
2016
+ def add_required_message_fields; end
2017
+ def bounced?; end
2018
+ def cid; end
2019
+ def delivery_status_data; end
2020
+ def delivery_status_report_part?; end
2021
+ def diagnostic_code; end
2022
+ def error_status; end
2023
+ def final_recipient; end
2024
+ def has_content_id?; end
2025
+ def inline?; end
2026
+ def inline_content_id; end
2027
+ def remote_mta; end
2028
+ def retryable?; end
2029
+ def url; end
2030
+
2031
+ private
2032
+
2033
+ def get_return_values(key); end
2034
+ def parse_delivery_status_report; end
2035
+ def parse_message; end
2036
+ end
2037
+
2038
+ class Mail::PartsList
2039
+ def initialize(*args); end
2040
+
2041
+ def attachments; end
2042
+ def collect; end
2043
+ def collect!; end
2044
+ def encode_with(coder); end
2045
+ def map; end
2046
+ def map!; end
2047
+ def parts; end
2048
+ def sort; end
2049
+ def sort!(order); end
2050
+ def to_yaml(options = T.unsafe(nil)); end
2051
+
2052
+ private
2053
+
2054
+ def get_order_value(part, order); end
2055
+ end
2056
+
2057
+ class Mail::PhraseList
2058
+ def initialize(string); end
2059
+
2060
+ def phrases; end
2061
+ end
2062
+
2063
+ Mail::RANDOM_TAG = T.let(T.unsafe(nil), String)
2064
+
2065
+ class Mail::ReceivedElement
2066
+ include(::Mail::Constants)
2067
+ include(::Mail::Utilities)
2068
+
2069
+ def initialize(string); end
2070
+
2071
+ def date_time; end
2072
+ def info; end
2073
+ def to_s(*args); end
2074
+ end
2075
+
2076
+ class Mail::ReceivedField < ::Mail::StructuredField
2077
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2078
+
2079
+ def date_time; end
2080
+ def decoded; end
2081
+ def element; end
2082
+ def encoded; end
2083
+ def formatted_date; end
2084
+ def info; end
2085
+ def parse(val = T.unsafe(nil)); end
2086
+ end
2087
+
2088
+ Mail::ReceivedField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2089
+
2090
+ Mail::ReceivedField::FIELD_NAME = T.let(T.unsafe(nil), String)
2091
+
2092
+ class Mail::ReferencesField < ::Mail::StructuredField
2093
+ include(::Mail::CommonMessageId)
2094
+
2095
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2096
+
2097
+ def decoded; end
2098
+ def encoded; end
2099
+ end
2100
+
2101
+ Mail::ReferencesField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2102
+
2103
+ Mail::ReferencesField::FIELD_NAME = T.let(T.unsafe(nil), String)
2104
+
2105
+ class Mail::ReplyToField < ::Mail::StructuredField
2106
+ include(::Mail::CommonAddress)
2107
+
2108
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2109
+
2110
+ def decoded; end
2111
+ def encoded; end
2112
+ end
2113
+
2114
+ Mail::ReplyToField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2115
+
2116
+ Mail::ReplyToField::FIELD_NAME = T.let(T.unsafe(nil), String)
2117
+
2118
+ class Mail::ResentBccField < ::Mail::StructuredField
2119
+ include(::Mail::CommonAddress)
2120
+
2121
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2122
+
2123
+ def decoded; end
2124
+ def encoded; end
2125
+ end
2126
+
2127
+ Mail::ResentBccField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2128
+
2129
+ Mail::ResentBccField::FIELD_NAME = T.let(T.unsafe(nil), String)
2130
+
2131
+ class Mail::ResentCcField < ::Mail::StructuredField
2132
+ include(::Mail::CommonAddress)
2133
+
2134
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2135
+
2136
+ def decoded; end
2137
+ def encoded; end
2138
+ end
2139
+
2140
+ Mail::ResentCcField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2141
+
2142
+ Mail::ResentCcField::FIELD_NAME = T.let(T.unsafe(nil), String)
2143
+
2144
+ class Mail::ResentDateField < ::Mail::StructuredField
2145
+ include(::Mail::CommonDate)
2146
+
2147
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2148
+
2149
+ def decoded; end
2150
+ def encoded; end
2151
+ end
2152
+
2153
+ Mail::ResentDateField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2154
+
2155
+ Mail::ResentDateField::FIELD_NAME = T.let(T.unsafe(nil), String)
2156
+
2157
+ class Mail::ResentFromField < ::Mail::StructuredField
2158
+ include(::Mail::CommonAddress)
2159
+
2160
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2161
+
2162
+ def decoded; end
2163
+ def encoded; end
2164
+ end
2165
+
2166
+ Mail::ResentFromField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2167
+
2168
+ Mail::ResentFromField::FIELD_NAME = T.let(T.unsafe(nil), String)
2169
+
2170
+ class Mail::ResentMessageIdField < ::Mail::StructuredField
2171
+ include(::Mail::CommonMessageId)
2172
+
2173
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2174
+
2175
+ def decoded; end
2176
+ def encoded; end
2177
+ def name; end
2178
+ end
2179
+
2180
+ Mail::ResentMessageIdField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2181
+
2182
+ Mail::ResentMessageIdField::FIELD_NAME = T.let(T.unsafe(nil), String)
2183
+
2184
+ class Mail::ResentSenderField < ::Mail::StructuredField
2185
+ include(::Mail::CommonAddress)
2186
+
2187
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2188
+
2189
+ def address; end
2190
+ def addresses; end
2191
+ def decoded; end
2192
+ def encoded; end
2193
+ end
2194
+
2195
+ Mail::ResentSenderField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2196
+
2197
+ Mail::ResentSenderField::FIELD_NAME = T.let(T.unsafe(nil), String)
2198
+
2199
+ class Mail::ResentToField < ::Mail::StructuredField
2200
+ include(::Mail::CommonAddress)
2201
+
2202
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2203
+
2204
+ def decoded; end
2205
+ def encoded; end
2206
+ end
2207
+
2208
+ Mail::ResentToField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2209
+
2210
+ Mail::ResentToField::FIELD_NAME = T.let(T.unsafe(nil), String)
2211
+
2212
+ class Mail::Retriever
2213
+ def all(options = T.unsafe(nil), &block); end
2214
+ def find_and_delete(options = T.unsafe(nil), &block); end
2215
+ def first(options = T.unsafe(nil), &block); end
2216
+ def last(options = T.unsafe(nil), &block); end
2217
+ end
2218
+
2219
+ class Mail::ReturnPathField < ::Mail::StructuredField
2220
+ include(::Mail::CommonAddress)
2221
+
2222
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2223
+
2224
+ def address; end
2225
+ def decoded; end
2226
+ def default; end
2227
+ def encoded; end
2228
+ end
2229
+
2230
+ Mail::ReturnPathField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2231
+
2232
+ Mail::ReturnPathField::FIELD_NAME = T.let(T.unsafe(nil), String)
2233
+
2234
+ class Mail::Ruby19
2235
+ class << self
2236
+ def b_value_decode(str); end
2237
+ def b_value_encode(str, encoding = T.unsafe(nil)); end
2238
+ def bracket(str); end
2239
+ def charset_encoder; end
2240
+ def charset_encoder=(_); end
2241
+ def decode_base64(str); end
2242
+ def decode_utf7(utf7); end
2243
+ def encode_base64(str); end
2244
+ def encode_utf7(string); end
2245
+ def escape_bracket(str); end
2246
+ def escape_paren(str); end
2247
+ def get_constant(klass, string); end
2248
+ def has_constant?(klass, string); end
2249
+ def param_decode(str, encoding); end
2250
+ def param_encode(str); end
2251
+ def paren(str); end
2252
+ def pick_encoding(charset); end
2253
+ def q_value_decode(str); end
2254
+ def q_value_encode(str, encoding = T.unsafe(nil)); end
2255
+ def string_byteslice(str, *args); end
2256
+ def transcode_charset(str, from_encoding, to_encoding = T.unsafe(nil)); end
2257
+ def uri_parser; end
2258
+
2259
+ private
2260
+
2261
+ def convert_to_encoding(encoding); end
2262
+ def transcode_to_scrubbed_utf8(str); end
2263
+ end
2264
+ end
2265
+
2266
+ class Mail::Ruby19::BestEffortCharsetEncoder
2267
+ def encode(string, charset); end
2268
+
2269
+ private
2270
+
2271
+ def pick_encoding(charset); end
2272
+ end
2273
+
2274
+ class Mail::Ruby19::StrictCharsetEncoder
2275
+ def encode(string, charset); end
2276
+ end
2277
+
2278
+ Mail::RubyVer = Mail::Ruby19
2279
+
2280
+ class Mail::SMTP
2281
+ def initialize(values); end
2282
+
2283
+ def deliver!(mail); end
2284
+ def settings; end
2285
+ def settings=(_); end
2286
+
2287
+ private
2288
+
2289
+ def build_smtp_session; end
2290
+ def ssl_context; end
2291
+ def start_smtp_session(&block); end
2292
+ end
2293
+
2294
+ Mail::SMTP::DEFAULTS = T.let(T.unsafe(nil), Hash)
2295
+
2296
+ class Mail::SMTPConnection
2297
+ def initialize(values); end
2298
+
2299
+ def deliver!(mail); end
2300
+ def settings; end
2301
+ def settings=(_); end
2302
+ def smtp; end
2303
+ def smtp=(_); end
2304
+
2305
+ private
2306
+
2307
+ def dot_stuff(message); end
2308
+ end
2309
+
2310
+ class Mail::SenderField < ::Mail::StructuredField
2311
+ include(::Mail::CommonAddress)
2312
+
2313
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2314
+
2315
+ def address; end
2316
+ def addresses; end
2317
+ def decoded; end
2318
+ def default; end
2319
+ def encoded; end
2320
+ end
2321
+
2322
+ Mail::SenderField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2323
+
2324
+ Mail::SenderField::FIELD_NAME = T.let(T.unsafe(nil), String)
2325
+
2326
+ class Mail::Sendmail
2327
+ def initialize(values); end
2328
+
2329
+ def deliver!(mail); end
2330
+ def settings; end
2331
+ def settings=(_); end
2332
+
2333
+ class << self
2334
+ def call(path, arguments, destinations, encoded_message); end
2335
+ def popen(command, &block); end
2336
+ def shellquote(address); end
2337
+ end
2338
+ end
2339
+
2340
+ Mail::Sendmail::DEFAULTS = T.let(T.unsafe(nil), Hash)
2341
+
2342
+ class Mail::StructuredField
2343
+ include(::Mail::Constants)
2344
+ include(::Mail::CommonField)
2345
+ include(::Mail::Utilities)
2346
+
2347
+ def initialize(name = T.unsafe(nil), value = T.unsafe(nil), charset = T.unsafe(nil)); end
2348
+
2349
+ def charset; end
2350
+ def charset=(val); end
2351
+ def default; end
2352
+ def errors; end
2353
+ end
2354
+
2355
+ class Mail::SubjectField < ::Mail::UnstructuredField
2356
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2357
+ end
2358
+
2359
+ Mail::SubjectField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2360
+
2361
+ Mail::SubjectField::FIELD_NAME = T.let(T.unsafe(nil), String)
2362
+
2363
+ class Mail::TestMailer
2364
+ def initialize(values); end
2365
+
2366
+ def deliver!(mail); end
2367
+ def settings; end
2368
+ def settings=(_); end
2369
+
2370
+ class << self
2371
+ def deliveries; end
2372
+ def deliveries=(val); end
2373
+ end
2374
+ end
2375
+
2376
+ class Mail::TestRetriever < ::Mail::Retriever
2377
+ def initialize(values); end
2378
+
2379
+ def find(options = T.unsafe(nil), &block); end
2380
+
2381
+ class << self
2382
+ def emails; end
2383
+ def emails=(val); end
2384
+ end
2385
+ end
2386
+
2387
+ class Mail::ToField < ::Mail::StructuredField
2388
+ include(::Mail::CommonAddress)
2389
+
2390
+ def initialize(value = T.unsafe(nil), charset = T.unsafe(nil)); end
2391
+
2392
+ def decoded; end
2393
+ def encoded; end
2394
+ end
2395
+
2396
+ Mail::ToField::CAPITALIZED_FIELD = T.let(T.unsafe(nil), String)
2397
+
2398
+ Mail::ToField::FIELD_NAME = T.let(T.unsafe(nil), String)
2399
+
2400
+ class Mail::UnknownEncodingType < ::StandardError
2401
+ end
2402
+
2403
+ class Mail::UnstructuredField
2404
+ include(::Mail::Constants)
2405
+ include(::Mail::CommonField)
2406
+ include(::Mail::Utilities)
2407
+
2408
+ def initialize(name, value, charset = T.unsafe(nil)); end
2409
+
2410
+ def charset; end
2411
+ def charset=(_); end
2412
+ def decoded; end
2413
+ def default; end
2414
+ def encoded; end
2415
+ def errors; end
2416
+ def parse; end
2417
+
2418
+ private
2419
+
2420
+ def do_decode; end
2421
+ def do_encode; end
2422
+ def encode(value); end
2423
+ def encode_crlf(value); end
2424
+ def fold(prepend = T.unsafe(nil)); end
2425
+ def normalized_encoding; end
2426
+ def wrap_lines(name, folded_lines); end
2427
+ def wrapped_value; end
2428
+ end
2429
+
2430
+ module Mail::Utilities
2431
+ include(::Mail::Constants)
2432
+
2433
+ def atom_safe?(str); end
2434
+ def bracket(str); end
2435
+ def capitalize_field(str); end
2436
+ def constantize(str); end
2437
+ def dasherize(str); end
2438
+ def dquote(str); end
2439
+ def escape_paren(str); end
2440
+ def map_lines(str, &block); end
2441
+ def map_with_index(enum, &block); end
2442
+ def match_to_s(obj1, obj2); end
2443
+ def paren(str); end
2444
+ def quote_atom(str); end
2445
+ def quote_phrase(str); end
2446
+ def quote_token(str); end
2447
+ def token_safe?(str); end
2448
+ def unbracket(str); end
2449
+ def underscoreize(str); end
2450
+ def unparen(str); end
2451
+ def uri_escape(str); end
2452
+ def uri_parser; end
2453
+ def uri_unescape(str); end
2454
+
2455
+ private
2456
+
2457
+ def unescape(str); end
2458
+ def unquote(str); end
2459
+
2460
+ class << self
2461
+ def binary_unsafe_to_crlf(string); end
2462
+ def binary_unsafe_to_lf(string); end
2463
+ def blank?(value); end
2464
+ def safe_for_line_ending_conversion?(string); end
2465
+ def to_crlf(string); end
2466
+ def to_lf(string); end
2467
+ def unescape(str); end
2468
+ def unquote(str); end
2469
+ end
2470
+ end
2471
+
2472
+ Mail::Utilities::CRLF = T.let(T.unsafe(nil), String)
2473
+
2474
+ Mail::Utilities::LF = T.let(T.unsafe(nil), String)
2475
+
2476
+ Mail::Utilities::TO_CRLF_REGEX = T.let(T.unsafe(nil), Regexp)
2477
+
2478
+ module Mail::VERSION
2479
+ class << self
2480
+ def version; end
2481
+ end
2482
+ end
2483
+
2484
+ Mail::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
2485
+
2486
+ Mail::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
2487
+
2488
+ Mail::VERSION::PATCH = T.let(T.unsafe(nil), Integer)
2489
+
2490
+ Mail::VERSION::STRING = T.let(T.unsafe(nil), String)