packwerk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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)