packwerk 2.2.0 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +202 -175
  7. data/README.md +1 -1
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +1 -1
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +24 -20
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +40 -20
  26. data/lib/packwerk/file_processor.rb +14 -14
  27. data/lib/packwerk/files_for_processing.rb +27 -31
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +27 -8
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +2 -0
  39. data/lib/packwerk/parse_run.rb +29 -20
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  43. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  44. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  45. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  46. data/lib/packwerk/reference_extractor.rb +51 -48
  47. data/lib/packwerk/reference_offense.rb +3 -27
  48. data/lib/packwerk/run_context.rb +9 -8
  49. data/lib/packwerk/spring_command.rb +1 -1
  50. data/lib/packwerk/version.rb +1 -1
  51. data/lib/packwerk.rb +1 -0
  52. data/packwerk.gemspec +5 -12
  53. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  54. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  55. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  56. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  57. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  58. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  59. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  60. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  61. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  62. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  63. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  64. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  65. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  67. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  68. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  69. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  70. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  71. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  72. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  73. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  74. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  75. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  76. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  77. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  78. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  79. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  80. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  81. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  82. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  83. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  84. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  85. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  86. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  87. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  88. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  89. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  90. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  91. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  92. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  93. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  94. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  95. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  96. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  97. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  98. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  99. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  100. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  101. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  102. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  103. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  104. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  105. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  106. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  107. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  108. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  109. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  110. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  111. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  112. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  113. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  114. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  115. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  116. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  117. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  118. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  119. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  120. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  121. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  122. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  123. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  124. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  125. data/sorbet/rbi/shims/psych.rbi +5 -0
  126. data/sorbet/tapioca/require.rb +2 -3
  127. metadata +91 -146
  128. data/.github/probots.yml +0 -2
  129. data/library.yml +0 -6
  130. data/service.yml +0 -1
  131. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  132. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  133. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  134. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  135. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  136. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  137. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  138. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  139. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  140. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  141. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  142. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  143. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  144. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  145. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  146. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  147. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  148. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  149. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  150. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  151. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  152. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  153. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  154. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  155. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  156. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  157. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  158. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  159. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  160. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  161. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  162. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  163. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  164. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  165. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  166. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  167. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  168. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  169. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  170. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  171. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  172. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  173. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  178. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  179. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  180. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  181. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  182. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  183. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  184. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  185. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  186. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  187. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  188. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -0,0 +1,2362 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `actionmailer` gem.
5
+ # Please instead update this file by running `bin/tapioca gem actionmailer`.
6
+
7
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:3
8
+ module ActionMailer
9
+ extend ::ActiveSupport::Autoload
10
+
11
+ class << self
12
+ # source://actionmailer-7.0.3.1/lib/action_mailer.rb:56
13
+ def eager_load!; end
14
+
15
+ # Returns the currently loaded version of Action Mailer as a <tt>Gem::Version</tt>.
16
+ #
17
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:5
18
+ def gem_version; end
19
+
20
+ # Returns the currently loaded version of Action Mailer as a
21
+ # <tt>Gem::Version</tt>.
22
+ #
23
+ # source://actionmailer-7.0.3.1/lib/action_mailer/version.rb:8
24
+ def version; end
25
+ end
26
+ end
27
+
28
+ # Action Mailer allows you to send email from your application using a mailer model and views.
29
+ #
30
+ # = Mailer Models
31
+ #
32
+ # To use Action Mailer, you need to create a mailer model.
33
+ #
34
+ # $ bin/rails generate mailer Notifier
35
+ #
36
+ # The generated model inherits from <tt>ApplicationMailer</tt> which in turn
37
+ # inherits from <tt>ActionMailer::Base</tt>. A mailer model defines methods
38
+ # used to generate an email message. In these methods, you can set up variables to be used in
39
+ # the mailer views, options on the mail itself such as the <tt>:from</tt> address, and attachments.
40
+ #
41
+ # class ApplicationMailer < ActionMailer::Base
42
+ # default from: 'from@example.com'
43
+ # layout 'mailer'
44
+ # end
45
+ #
46
+ # class NotifierMailer < ApplicationMailer
47
+ # default from: 'no-reply@example.com',
48
+ # return_path: 'system@example.com'
49
+ #
50
+ # def welcome(recipient)
51
+ # @account = recipient
52
+ # mail(to: recipient.email_address_with_name,
53
+ # bcc: ["bcc@example.com", "Order Watcher <watcher@example.com>"])
54
+ # end
55
+ # end
56
+ #
57
+ # Within the mailer method, you have access to the following methods:
58
+ #
59
+ # * <tt>attachments[]=</tt> - Allows you to add attachments to your email in an intuitive
60
+ # manner; <tt>attachments['filename.png'] = File.read('path/to/filename.png')</tt>
61
+ #
62
+ # * <tt>attachments.inline[]=</tt> - Allows you to add an inline attachment to your email
63
+ # in the same manner as <tt>attachments[]=</tt>
64
+ #
65
+ # * <tt>headers[]=</tt> - Allows you to specify any header field in your email such
66
+ # as <tt>headers['X-No-Spam'] = 'True'</tt>. Note that declaring a header multiple times
67
+ # will add many fields of the same name. Read #headers doc for more information.
68
+ #
69
+ # * <tt>headers(hash)</tt> - Allows you to specify multiple headers in your email such
70
+ # as <tt>headers({'X-No-Spam' => 'True', 'In-Reply-To' => '1234@message.id'})</tt>
71
+ #
72
+ # * <tt>mail</tt> - Allows you to specify email to be sent.
73
+ #
74
+ # The hash passed to the mail method allows you to specify any header that a <tt>Mail::Message</tt>
75
+ # will accept (any valid email header including optional fields).
76
+ #
77
+ # The +mail+ method, if not passed a block, will inspect your views and send all the views with
78
+ # the same name as the method, so the above action would send the +welcome.text.erb+ view
79
+ # file as well as the +welcome.html.erb+ view file in a +multipart/alternative+ email.
80
+ #
81
+ # If you want to explicitly render only certain templates, pass a block:
82
+ #
83
+ # mail(to: user.email) do |format|
84
+ # format.text
85
+ # format.html
86
+ # end
87
+ #
88
+ # The block syntax is also useful in providing information specific to a part:
89
+ #
90
+ # mail(to: user.email) do |format|
91
+ # format.html
92
+ # end
93
+ #
94
+ # Or even to render a special view:
95
+ #
96
+ # mail(to: user.email) do |format|
97
+ # format.text
98
+ # format.html { render "some_other_template" }
99
+ # end
100
+ #
101
+ # = Mailer views
102
+ #
103
+ # Like Action Controller, each mailer class has a corresponding view directory in which each
104
+ # method of the class looks for a template with its name.
105
+ #
106
+ # To define a template to be used with a mailer, create an <tt>.erb</tt> file with the same
107
+ # name as the method in your mailer model. For example, in the mailer defined above, the template at
108
+ # <tt>app/views/notifier_mailer/welcome.text.erb</tt> would be used to generate the email.
109
+ #
110
+ # Variables defined in the methods of your mailer model are accessible as instance variables in their
111
+ # corresponding view.
112
+ #
113
+ # Emails by default are sent in plain text, so a sample view for our model example might look like this:
114
+ #
115
+ # Hi <%= @account.name %>,
116
+ # Thanks for joining our service! Please check back often.
117
+ #
118
+ # You can even use Action View helpers in these views. For example:
119
+ #
120
+ # You got a new note!
121
+ # <%= truncate(@note.body, length: 25) %>
122
+ #
123
+ # If you need to access the subject, from, or the recipients in the view, you can do that through message object:
124
+ #
125
+ # You got a new note from <%= message.from %>!
126
+ # <%= truncate(@note.body, length: 25) %>
127
+ #
128
+ #
129
+ # = Generating URLs
130
+ #
131
+ # URLs can be generated in mailer views using <tt>url_for</tt> or named routes. Unlike controllers from
132
+ # Action Pack, the mailer instance doesn't have any context about the incoming request, so you'll need
133
+ # to provide all of the details needed to generate a URL.
134
+ #
135
+ # When using <tt>url_for</tt> you'll need to provide the <tt>:host</tt>, <tt>:controller</tt>, and <tt>:action</tt>:
136
+ #
137
+ # <%= url_for(host: "example.com", controller: "welcome", action: "greeting") %>
138
+ #
139
+ # When using named routes you only need to supply the <tt>:host</tt>:
140
+ #
141
+ # <%= users_url(host: "example.com") %>
142
+ #
143
+ # You should use the <tt>named_route_url</tt> style (which generates absolute URLs) and avoid using the
144
+ # <tt>named_route_path</tt> style (which generates relative URLs), since clients reading the mail will
145
+ # have no concept of a current URL from which to determine a relative path.
146
+ #
147
+ # It is also possible to set a default host that will be used in all mailers by setting the <tt>:host</tt>
148
+ # option as a configuration option in <tt>config/application.rb</tt>:
149
+ #
150
+ # config.action_mailer.default_url_options = { host: "example.com" }
151
+ #
152
+ # You can also define a <tt>default_url_options</tt> method on individual mailers to override these
153
+ # default settings per-mailer.
154
+ #
155
+ # By default when <tt>config.force_ssl</tt> is +true+, URLs generated for hosts will use the HTTPS protocol.
156
+ #
157
+ # = Sending mail
158
+ #
159
+ # Once a mailer action and template are defined, you can deliver your message or defer its creation and
160
+ # delivery for later:
161
+ #
162
+ # NotifierMailer.welcome(User.first).deliver_now # sends the email
163
+ # mail = NotifierMailer.welcome(User.first) # => an ActionMailer::MessageDelivery object
164
+ # mail.deliver_now # generates and sends the email now
165
+ #
166
+ # The ActionMailer::MessageDelivery class is a wrapper around a delegate that will call
167
+ # your method to generate the mail. If you want direct access to the delegator, or <tt>Mail::Message</tt>,
168
+ # you can call the <tt>message</tt> method on the ActionMailer::MessageDelivery object.
169
+ #
170
+ # NotifierMailer.welcome(User.first).message # => a Mail::Message object
171
+ #
172
+ # Action Mailer is nicely integrated with Active Job so you can generate and send emails in the background
173
+ # (example: outside of the request-response cycle, so the user doesn't have to wait on it):
174
+ #
175
+ # NotifierMailer.welcome(User.first).deliver_later # enqueue the email sending to Active Job
176
+ #
177
+ # Note that <tt>deliver_later</tt> will execute your method from the background job.
178
+ #
179
+ # You never instantiate your mailer class. Rather, you just call the method you defined on the class itself.
180
+ # All instance methods are expected to return a message object to be sent.
181
+ #
182
+ # = Multipart Emails
183
+ #
184
+ # Multipart messages can also be used implicitly because Action Mailer will automatically detect and use
185
+ # multipart templates, where each template is named after the name of the action, followed by the content
186
+ # type. Each such detected template will be added to the message, as a separate part.
187
+ #
188
+ # For example, if the following templates exist:
189
+ # * signup_notification.text.erb
190
+ # * signup_notification.html.erb
191
+ # * signup_notification.xml.builder
192
+ # * signup_notification.yml.erb
193
+ #
194
+ # Each would be rendered and added as a separate part to the message, with the corresponding content
195
+ # type. The content type for the entire message is automatically set to <tt>multipart/alternative</tt>,
196
+ # which indicates that the email contains multiple different representations of the same email
197
+ # body. The same instance variables defined in the action are passed to all email templates.
198
+ #
199
+ # Implicit template rendering is not performed if any attachments or parts have been added to the email.
200
+ # This means that you'll have to manually add each part to the email and set the content type of the email
201
+ # to <tt>multipart/alternative</tt>.
202
+ #
203
+ # = Attachments
204
+ #
205
+ # Sending attachment in emails is easy:
206
+ #
207
+ # class NotifierMailer < ApplicationMailer
208
+ # def welcome(recipient)
209
+ # attachments['free_book.pdf'] = File.read('path/to/file.pdf')
210
+ # mail(to: recipient, subject: "New account information")
211
+ # end
212
+ # end
213
+ #
214
+ # Which will (if it had both a <tt>welcome.text.erb</tt> and <tt>welcome.html.erb</tt>
215
+ # template in the view directory), send a complete <tt>multipart/mixed</tt> email with two parts,
216
+ # the first part being a <tt>multipart/alternative</tt> with the text and HTML email parts inside,
217
+ # and the second being a <tt>application/pdf</tt> with a Base64 encoded copy of the file.pdf book
218
+ # with the filename +free_book.pdf+.
219
+ #
220
+ # If you need to send attachments with no content, you need to create an empty view for it,
221
+ # or add an empty body parameter like this:
222
+ #
223
+ # class NotifierMailer < ApplicationMailer
224
+ # def welcome(recipient)
225
+ # attachments['free_book.pdf'] = File.read('path/to/file.pdf')
226
+ # mail(to: recipient, subject: "New account information", body: "")
227
+ # end
228
+ # end
229
+ #
230
+ # You can also send attachments with html template, in this case you need to add body, attachments,
231
+ # and custom content type like this:
232
+ #
233
+ # class NotifierMailer < ApplicationMailer
234
+ # def welcome(recipient)
235
+ # attachments["free_book.pdf"] = File.read("path/to/file.pdf")
236
+ # mail(to: recipient,
237
+ # subject: "New account information",
238
+ # content_type: "text/html",
239
+ # body: "<html><body>Hello there</body></html>")
240
+ # end
241
+ # end
242
+ #
243
+ # = Inline Attachments
244
+ #
245
+ # You can also specify that a file should be displayed inline with other HTML. This is useful
246
+ # if you want to display a corporate logo or a photo.
247
+ #
248
+ # class NotifierMailer < ApplicationMailer
249
+ # def welcome(recipient)
250
+ # attachments.inline['photo.png'] = File.read('path/to/photo.png')
251
+ # mail(to: recipient, subject: "Here is what we look like")
252
+ # end
253
+ # end
254
+ #
255
+ # And then to reference the image in the view, you create a <tt>welcome.html.erb</tt> file and
256
+ # make a call to +image_tag+ passing in the attachment you want to display and then call
257
+ # +url+ on the attachment to get the relative content id path for the image source:
258
+ #
259
+ # <h1>Please Don't Cringe</h1>
260
+ #
261
+ # <%= image_tag attachments['photo.png'].url -%>
262
+ #
263
+ # As we are using Action View's +image_tag+ method, you can pass in any other options you want:
264
+ #
265
+ # <h1>Please Don't Cringe</h1>
266
+ #
267
+ # <%= image_tag attachments['photo.png'].url, alt: 'Our Photo', class: 'photo' -%>
268
+ #
269
+ # = Observing and Intercepting Mails
270
+ #
271
+ # Action Mailer provides hooks into the Mail observer and interceptor methods. These allow you to
272
+ # register classes that are called during the mail delivery life cycle.
273
+ #
274
+ # An observer class must implement the <tt>:delivered_email(message)</tt> method which will be
275
+ # called once for every email sent after the email has been sent.
276
+ #
277
+ # An interceptor class must implement the <tt>:delivering_email(message)</tt> method which will be
278
+ # called before the email is sent, allowing you to make modifications to the email before it hits
279
+ # the delivery agents. Your class should make any needed modifications directly to the passed
280
+ # in <tt>Mail::Message</tt> instance.
281
+ #
282
+ # = Default Hash
283
+ #
284
+ # Action Mailer provides some intelligent defaults for your emails, these are usually specified in a
285
+ # default method inside the class definition:
286
+ #
287
+ # class NotifierMailer < ApplicationMailer
288
+ # default sender: 'system@example.com'
289
+ # end
290
+ #
291
+ # You can pass in any header value that a <tt>Mail::Message</tt> accepts. Out of the box,
292
+ # <tt>ActionMailer::Base</tt> sets the following:
293
+ #
294
+ # * <tt>mime_version: "1.0"</tt>
295
+ # * <tt>charset: "UTF-8"</tt>
296
+ # * <tt>content_type: "text/plain"</tt>
297
+ # * <tt>parts_order: [ "text/plain", "text/enriched", "text/html" ]</tt>
298
+ #
299
+ # <tt>parts_order</tt> and <tt>charset</tt> are not actually valid <tt>Mail::Message</tt> header fields,
300
+ # but Action Mailer translates them appropriately and sets the correct values.
301
+ #
302
+ # As you can pass in any header, you need to either quote the header as a string, or pass it in as
303
+ # an underscored symbol, so the following will work:
304
+ #
305
+ # class NotifierMailer < ApplicationMailer
306
+ # default 'Content-Transfer-Encoding' => '7bit',
307
+ # content_description: 'This is a description'
308
+ # end
309
+ #
310
+ # Finally, Action Mailer also supports passing <tt>Proc</tt> and <tt>Lambda</tt> objects into the default hash,
311
+ # so you can define methods that evaluate as the message is being generated:
312
+ #
313
+ # class NotifierMailer < ApplicationMailer
314
+ # default 'X-Special-Header' => Proc.new { my_method }, to: -> { @inviter.email_address }
315
+ #
316
+ # private
317
+ # def my_method
318
+ # 'some complex call'
319
+ # end
320
+ # end
321
+ #
322
+ # Note that the proc/lambda is evaluated right at the start of the mail message generation, so if you
323
+ # set something in the default hash using a proc, and then set the same thing inside of your
324
+ # mailer method, it will get overwritten by the mailer method.
325
+ #
326
+ # It is also possible to set these default options that will be used in all mailers through
327
+ # the <tt>default_options=</tt> configuration in <tt>config/application.rb</tt>:
328
+ #
329
+ # config.action_mailer.default_options = { from: "no-reply@example.org" }
330
+ #
331
+ # = Callbacks
332
+ #
333
+ # You can specify callbacks using <tt>before_action</tt> and <tt>after_action</tt> for configuring your messages.
334
+ # This may be useful, for example, when you want to add default inline attachments for all
335
+ # messages sent out by a certain mailer class:
336
+ #
337
+ # class NotifierMailer < ApplicationMailer
338
+ # before_action :add_inline_attachment!
339
+ #
340
+ # def welcome
341
+ # mail
342
+ # end
343
+ #
344
+ # private
345
+ # def add_inline_attachment!
346
+ # attachments.inline["footer.jpg"] = File.read('/path/to/filename.jpg')
347
+ # end
348
+ # end
349
+ #
350
+ # Callbacks in Action Mailer are implemented using
351
+ # AbstractController::Callbacks, so you can define and configure
352
+ # callbacks in the same manner that you would use callbacks in classes that
353
+ # inherit from ActionController::Base.
354
+ #
355
+ # Note that unless you have a specific reason to do so, you should prefer
356
+ # using <tt>before_action</tt> rather than <tt>after_action</tt> in your
357
+ # Action Mailer classes so that headers are parsed properly.
358
+ #
359
+ # = Rescuing Errors
360
+ #
361
+ # +rescue+ blocks inside of a mailer method cannot rescue errors that occur
362
+ # outside of rendering -- for example, record deserialization errors in a
363
+ # background job, or errors from a third-party mail delivery service.
364
+ #
365
+ # To rescue errors that occur during any part of the mailing process, use
366
+ # {rescue_from}[rdoc-ref:ActiveSupport::Rescuable::ClassMethods#rescue_from]:
367
+ #
368
+ # class NotifierMailer < ApplicationMailer
369
+ # rescue_from ActiveJob::DeserializationError do
370
+ # # ...
371
+ # end
372
+ #
373
+ # rescue_from "SomeThirdPartyService::ApiError" do
374
+ # # ...
375
+ # end
376
+ #
377
+ # def notify(recipient)
378
+ # mail(to: recipient, subject: "Notification")
379
+ # end
380
+ # end
381
+ #
382
+ # = Previewing emails
383
+ #
384
+ # You can preview your email templates visually by adding a mailer preview file to the
385
+ # <tt>ActionMailer::Base.preview_path</tt>. Since most emails do something interesting
386
+ # with database data, you'll need to write some scenarios to load messages with fake data:
387
+ #
388
+ # class NotifierMailerPreview < ActionMailer::Preview
389
+ # def welcome
390
+ # NotifierMailer.welcome(User.first)
391
+ # end
392
+ # end
393
+ #
394
+ # Methods must return a <tt>Mail::Message</tt> object which can be generated by calling the mailer
395
+ # method without the additional <tt>deliver_now</tt> / <tt>deliver_later</tt>. The location of the
396
+ # mailer previews directory can be configured using the <tt>preview_path</tt> option which has a default
397
+ # of <tt>test/mailers/previews</tt>:
398
+ #
399
+ # config.action_mailer.preview_path = "#{Rails.root}/lib/mailer_previews"
400
+ #
401
+ # An overview of all previews is accessible at <tt>http://localhost:3000/rails/mailers</tt>
402
+ # on a running development server instance.
403
+ #
404
+ # Previews can also be intercepted in a similar manner as deliveries can be by registering
405
+ # a preview interceptor that has a <tt>previewing_email</tt> method:
406
+ #
407
+ # class CssInlineStyler
408
+ # def self.previewing_email(message)
409
+ # # inline CSS styles
410
+ # end
411
+ # end
412
+ #
413
+ # config.action_mailer.preview_interceptors :css_inline_styler
414
+ #
415
+ # Note that interceptors need to be registered both with <tt>register_interceptor</tt>
416
+ # and <tt>register_preview_interceptor</tt> if they should operate on both sending and
417
+ # previewing emails.
418
+ #
419
+ # = Configuration options
420
+ #
421
+ # These options are specified on the class level, like
422
+ # <tt>ActionMailer::Base.raise_delivery_errors = true</tt>
423
+ #
424
+ # * <tt>default_options</tt> - You can pass this in at a class level as well as within the class itself as
425
+ # per the above section.
426
+ #
427
+ # * <tt>logger</tt> - the logger is used for generating information on the mailing run if available.
428
+ # Can be set to +nil+ for no logging. Compatible with both Ruby's own +Logger+ and Log4r loggers.
429
+ #
430
+ # * <tt>smtp_settings</tt> - Allows detailed configuration for <tt>:smtp</tt> delivery method:
431
+ # * <tt>:address</tt> - Allows you to use a remote mail server. Just change it from its default
432
+ # "localhost" setting.
433
+ # * <tt>:port</tt> - On the off chance that your mail server doesn't run on port 25, you can change it.
434
+ # * <tt>:domain</tt> - If you need to specify a HELO domain, you can do it here.
435
+ # * <tt>:user_name</tt> - If your mail server requires authentication, set the username in this setting.
436
+ # * <tt>:password</tt> - If your mail server requires authentication, set the password in this setting.
437
+ # * <tt>:authentication</tt> - If your mail server requires authentication, you need to specify the
438
+ # authentication type here.
439
+ # This is a symbol and one of <tt>:plain</tt> (will send the password Base64 encoded), <tt>:login</tt> (will
440
+ # send the password Base64 encoded) or <tt>:cram_md5</tt> (combines a Challenge/Response mechanism to exchange
441
+ # information and a cryptographic Message Digest 5 algorithm to hash important information)
442
+ # * <tt>:enable_starttls</tt> - Use STARTTLS when connecting to your SMTP server and fail if unsupported. Defaults to <tt>false</tt>.
443
+ # * <tt>:enable_starttls_auto</tt> - Detects if STARTTLS is enabled in your SMTP server and starts
444
+ # to use it. Defaults to <tt>true</tt>.
445
+ # * <tt>:openssl_verify_mode</tt> - When using TLS, you can set how OpenSSL checks the certificate. This is
446
+ # really useful if you need to validate a self-signed and/or a wildcard certificate. You can use the name
447
+ # of an OpenSSL verify constant (<tt>'none'</tt> or <tt>'peer'</tt>) or directly the constant
448
+ # (<tt>OpenSSL::SSL::VERIFY_NONE</tt> or <tt>OpenSSL::SSL::VERIFY_PEER</tt>).
449
+ # * <tt>:ssl/:tls</tt> Enables the SMTP connection to use SMTP/TLS (SMTPS: SMTP over direct TLS connection)
450
+ # * <tt>:open_timeout</tt> Number of seconds to wait while attempting to open a connection.
451
+ # * <tt>:read_timeout</tt> Number of seconds to wait until timing-out a read(2) call.
452
+ #
453
+ # * <tt>sendmail_settings</tt> - Allows you to override options for the <tt>:sendmail</tt> delivery method.
454
+ # * <tt>:location</tt> - The location of the sendmail executable. Defaults to <tt>/usr/sbin/sendmail</tt>.
455
+ # * <tt>:arguments</tt> - The command line arguments. Defaults to <tt>-i</tt> with <tt>-f sender@address</tt>
456
+ # added automatically before the message is sent.
457
+ #
458
+ # * <tt>file_settings</tt> - Allows you to override options for the <tt>:file</tt> delivery method.
459
+ # * <tt>:location</tt> - The directory into which emails will be written. Defaults to the application
460
+ # <tt>tmp/mails</tt>.
461
+ #
462
+ # * <tt>raise_delivery_errors</tt> - Whether or not errors should be raised if the email fails to be delivered.
463
+ #
464
+ # * <tt>delivery_method</tt> - Defines a delivery method. Possible values are <tt>:smtp</tt> (default),
465
+ # <tt>:sendmail</tt>, <tt>:test</tt>, and <tt>:file</tt>. Or you may provide a custom delivery method
466
+ # object e.g. +MyOwnDeliveryMethodClass+. See the Mail gem documentation on the interface you need to
467
+ # implement for a custom delivery agent.
468
+ #
469
+ # * <tt>perform_deliveries</tt> - Determines whether emails are actually sent from Action Mailer when you
470
+ # call <tt>.deliver</tt> on an email message or on an Action Mailer method. This is on by default but can
471
+ # be turned off to aid in functional testing.
472
+ #
473
+ # * <tt>deliveries</tt> - Keeps an array of all the emails sent out through the Action Mailer with
474
+ # <tt>delivery_method :test</tt>. Most useful for unit and functional testing.
475
+ #
476
+ # * <tt>delivery_job</tt> - The job class used with <tt>deliver_later</tt>. Defaults to
477
+ # +ActionMailer::MailDeliveryJob+.
478
+ #
479
+ # * <tt>deliver_later_queue_name</tt> - The name of the queue used with <tt>deliver_later</tt>.
480
+ #
481
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
482
+ #
483
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:466
484
+ class ActionMailer::Base < ::AbstractController::Base
485
+ include ::ActionMailer::DeliveryMethods
486
+ include ::ActiveSupport::Rescuable
487
+ include ::ActionMailer::Rescuable
488
+ include ::ActionMailer::Parameterized
489
+ include ::ActionMailer::Previews
490
+ include ::ActionView::ViewPaths
491
+ include ::AbstractController::Rendering
492
+ include ::AbstractController::Logger
493
+ include ::ActiveSupport::Benchmarkable
494
+ include ::AbstractController::Helpers
495
+ include ::AbstractController::Translation
496
+ include ::AbstractController::AssetPaths
497
+ include ::ActiveSupport::Callbacks
498
+ include ::AbstractController::Callbacks
499
+ include ::AbstractController::Caching::Fragments
500
+ include ::AbstractController::Caching::ConfigMethods
501
+ include ::AbstractController::Caching
502
+ include ::ActionView::Rendering
503
+ include ::ActionView::Layouts
504
+ extend ::ActionMailer::DeliveryMethods::ClassMethods
505
+ extend ::ActiveSupport::Rescuable::ClassMethods
506
+ extend ::ActionMailer::Rescuable::ClassMethods
507
+ extend ::ActionMailer::Parameterized::ClassMethods
508
+ extend ::ActionMailer::Previews::ClassMethods
509
+ extend ::ActionView::ViewPaths::ClassMethods
510
+ extend ::AbstractController::Helpers::ClassMethods
511
+ extend ::ActiveSupport::Callbacks::ClassMethods
512
+ extend ::AbstractController::Callbacks::ClassMethods
513
+ extend ::AbstractController::Caching::Fragments::ClassMethods
514
+ extend ::AbstractController::Caching::ClassMethods
515
+ extend ::AbstractController::Caching::ConfigMethods
516
+ extend ::ActionView::Rendering::ClassMethods
517
+ extend ::ActionView::Layouts::ClassMethods
518
+
519
+ # @return [Base] a new instance of Base
520
+ #
521
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:632
522
+ def initialize; end
523
+
524
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
525
+ def __callbacks; end
526
+
527
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
528
+ def __callbacks?; end
529
+
530
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
531
+ def _helper_methods; end
532
+
533
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
534
+ def _helper_methods=(_arg0); end
535
+
536
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
537
+ def _helper_methods?; end
538
+
539
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940
540
+ def _process_action_callbacks; end
541
+
542
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928
543
+ def _run_process_action_callbacks(&block); end
544
+
545
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
546
+ def _view_cache_dependencies; end
547
+
548
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
549
+ def _view_cache_dependencies=(_arg0); end
550
+
551
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
552
+ def _view_cache_dependencies?; end
553
+
554
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
555
+ def asset_host; end
556
+
557
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
558
+ def asset_host=(value); end
559
+
560
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
561
+ def assets_dir; end
562
+
563
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
564
+ def assets_dir=(value); end
565
+
566
+ # Allows you to add attachments to an email, like so:
567
+ #
568
+ # mail.attachments['filename.jpg'] = File.read('/path/to/filename.jpg')
569
+ #
570
+ # If you do this, then Mail will take the file name and work out the mime type.
571
+ # It will also set the Content-Type, Content-Disposition, Content-Transfer-Encoding
572
+ # and encode the contents of the attachment in Base64.
573
+ #
574
+ # You can also specify overrides if you want by passing a hash instead of a string:
575
+ #
576
+ # mail.attachments['filename.jpg'] = {mime_type: 'application/gzip',
577
+ # content: File.read('/path/to/filename.jpg')}
578
+ #
579
+ # If you want to use encoding other than Base64 then you will need to pass encoding
580
+ # type along with the pre-encoded content as Mail doesn't know how to decode the
581
+ # data:
582
+ #
583
+ # file_content = SpecialEncode(File.read('/path/to/filename.jpg'))
584
+ # mail.attachments['filename.jpg'] = {mime_type: 'application/gzip',
585
+ # content: file_content }
586
+ #
587
+ # You can also search for specific attachments:
588
+ #
589
+ # # By Filename
590
+ # mail.attachments['filename.jpg'] # => Mail::Part object or nil
591
+ #
592
+ # # or by index
593
+ # mail.attachments[0] # => Mail::Part (first attachment)
594
+ #
595
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:749
596
+ def attachments; end
597
+
598
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
599
+ def default_asset_host_protocol; end
600
+
601
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
602
+ def default_asset_host_protocol=(value); end
603
+
604
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
605
+ def default_params; end
606
+
607
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
608
+ def default_params=(_arg0); end
609
+
610
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
611
+ def default_params?; end
612
+
613
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
614
+ def default_static_extension; end
615
+
616
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
617
+ def default_static_extension=(value); end
618
+
619
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:15
620
+ def deliver_later_queue_name; end
621
+
622
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:15
623
+ def deliver_later_queue_name=(val); end
624
+
625
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
626
+ def delivery_job; end
627
+
628
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
629
+ def delivery_job=(_arg0); end
630
+
631
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
632
+ def delivery_job?; end
633
+
634
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
635
+ def delivery_method; end
636
+
637
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
638
+ def delivery_method=(_arg0); end
639
+
640
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
641
+ def delivery_method?; end
642
+
643
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
644
+ def delivery_methods; end
645
+
646
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
647
+ def delivery_methods=(_arg0); end
648
+
649
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
650
+ def delivery_methods?; end
651
+
652
+ # Returns an email in the format "Name <email@example.com>".
653
+ #
654
+ # If the name is a blank string, it returns just the address.
655
+ #
656
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:673
657
+ def email_address_with_name(address, name); end
658
+
659
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
660
+ def enable_fragment_cache_logging; end
661
+
662
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
663
+ def enable_fragment_cache_logging=(value); end
664
+
665
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
666
+ def file_settings; end
667
+
668
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
669
+ def file_settings=(_arg0); end
670
+
671
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
672
+ def file_settings?; end
673
+
674
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
675
+ def fragment_cache_keys; end
676
+
677
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
678
+ def fragment_cache_keys=(_arg0); end
679
+
680
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
681
+ def fragment_cache_keys?; end
682
+
683
+ # Allows you to pass random and unusual headers to the new <tt>Mail::Message</tt>
684
+ # object which will add them to itself.
685
+ #
686
+ # headers['X-Special-Domain-Specific-Header'] = "SecretValue"
687
+ #
688
+ # You can also pass a hash into headers of header field names and values,
689
+ # which will then be set on the <tt>Mail::Message</tt> object:
690
+ #
691
+ # headers 'X-Special-Domain-Specific-Header' => "SecretValue",
692
+ # 'In-Reply-To' => incoming.message_id
693
+ #
694
+ # The resulting <tt>Mail::Message</tt> will have the following in its header:
695
+ #
696
+ # X-Special-Domain-Specific-Header: SecretValue
697
+ #
698
+ # Note about replacing already defined headers:
699
+ #
700
+ # * +subject+
701
+ # * +sender+
702
+ # * +from+
703
+ # * +to+
704
+ # * +cc+
705
+ # * +bcc+
706
+ # * +reply-to+
707
+ # * +orig-date+
708
+ # * +message-id+
709
+ # * +references+
710
+ #
711
+ # Fields can only appear once in email headers while other fields such as
712
+ # <tt>X-Anything</tt> can appear multiple times.
713
+ #
714
+ # If you want to replace any header which already exists, first set it to
715
+ # +nil+ in order to reset the value otherwise another field will be added
716
+ # for the same header.
717
+ #
718
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:711
719
+ def headers(args = T.unsafe(nil)); end
720
+
721
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
722
+ def javascripts_dir; end
723
+
724
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
725
+ def javascripts_dir=(value); end
726
+
727
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
728
+ def logger; end
729
+
730
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
731
+ def logger=(value); end
732
+
733
+ # The main method that creates the message and renders the email templates. There are
734
+ # two ways to call this method, with a block, or without a block.
735
+ #
736
+ # It accepts a headers hash. This hash allows you to specify
737
+ # the most used headers in an email message, these are:
738
+ #
739
+ # * +:subject+ - The subject of the message, if this is omitted, Action Mailer will
740
+ # ask the Rails I18n class for a translated +:subject+ in the scope of
741
+ # <tt>[mailer_scope, action_name]</tt> or if this is missing, will translate the
742
+ # humanized version of the +action_name+
743
+ # * +:to+ - Who the message is destined for, can be a string of addresses, or an array
744
+ # of addresses.
745
+ # * +:from+ - Who the message is from
746
+ # * +:cc+ - Who you would like to Carbon-Copy on this email, can be a string of addresses,
747
+ # or an array of addresses.
748
+ # * +:bcc+ - Who you would like to Blind-Carbon-Copy on this email, can be a string of
749
+ # addresses, or an array of addresses.
750
+ # * +:reply_to+ - Who to set the Reply-To header of the email to.
751
+ # * +:date+ - The date to say the email was sent on.
752
+ #
753
+ # You can set default values for any of the above headers (except +:date+)
754
+ # by using the ::default class method:
755
+ #
756
+ # class Notifier < ActionMailer::Base
757
+ # default from: 'no-reply@test.lindsaar.net',
758
+ # bcc: 'email_logger@test.lindsaar.net',
759
+ # reply_to: 'bounces@test.lindsaar.net'
760
+ # end
761
+ #
762
+ # If you need other headers not listed above, you can either pass them in
763
+ # as part of the headers hash or use the <tt>headers['name'] = value</tt>
764
+ # method.
765
+ #
766
+ # When a +:return_path+ is specified as header, that value will be used as
767
+ # the 'envelope from' address for the Mail message. Setting this is useful
768
+ # when you want delivery notifications sent to a different address than the
769
+ # one in +:from+. Mail will actually use the +:return_path+ in preference
770
+ # to the +:sender+ in preference to the +:from+ field for the 'envelope
771
+ # from' value.
772
+ #
773
+ # If you do not pass a block to the +mail+ method, it will find all
774
+ # templates in the view paths using by default the mailer name and the
775
+ # method name that it is being called from, it will then create parts for
776
+ # each of these templates intelligently, making educated guesses on correct
777
+ # content type and sequence, and return a fully prepared <tt>Mail::Message</tt>
778
+ # ready to call <tt>:deliver</tt> on to send.
779
+ #
780
+ # For example:
781
+ #
782
+ # class Notifier < ActionMailer::Base
783
+ # default from: 'no-reply@test.lindsaar.net'
784
+ #
785
+ # def welcome
786
+ # mail(to: 'mikel@test.lindsaar.net')
787
+ # end
788
+ # end
789
+ #
790
+ # Will look for all templates at "app/views/notifier" with name "welcome".
791
+ # If no welcome template exists, it will raise an ActionView::MissingTemplate error.
792
+ #
793
+ # However, those can be customized:
794
+ #
795
+ # mail(template_path: 'notifications', template_name: 'another')
796
+ #
797
+ # And now it will look for all templates at "app/views/notifications" with name "another".
798
+ #
799
+ # If you do pass a block, you can render specific templates of your choice:
800
+ #
801
+ # mail(to: 'mikel@test.lindsaar.net') do |format|
802
+ # format.text
803
+ # format.html
804
+ # end
805
+ #
806
+ # You can even render plain text directly without using a template:
807
+ #
808
+ # mail(to: 'mikel@test.lindsaar.net') do |format|
809
+ # format.text { render plain: "Hello Mikel!" }
810
+ # format.html { render html: "<h1>Hello Mikel!</h1>".html_safe }
811
+ # end
812
+ #
813
+ # Which will render a +multipart/alternative+ email with +text/plain+ and
814
+ # +text/html+ parts.
815
+ #
816
+ # The block syntax also allows you to customize the part headers if desired:
817
+ #
818
+ # mail(to: 'mikel@test.lindsaar.net') do |format|
819
+ # format.html
820
+ # end
821
+ #
822
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:858
823
+ def mail(headers = T.unsafe(nil), &block); end
824
+
825
+ # Returns the name of the mailer object.
826
+ #
827
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:666
828
+ def mailer_name; end
829
+
830
+ # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:33
831
+ def message; end
832
+
833
+ # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:33
834
+ def message=(_arg0); end
835
+
836
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:91
837
+ def params; end
838
+
839
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:91
840
+ def params=(_arg0); end
841
+
842
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
843
+ def perform_caching; end
844
+
845
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
846
+ def perform_caching=(value); end
847
+
848
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:14
849
+ def perform_deliveries; end
850
+
851
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:14
852
+ def perform_deliveries=(val); end
853
+
854
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:25
855
+ def preview_interceptors; end
856
+
857
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:14
858
+ def preview_path; end
859
+
860
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:638
861
+ def process(method_name, *args); end
862
+
863
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:13
864
+ def raise_delivery_errors; end
865
+
866
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:13
867
+ def raise_delivery_errors=(val); end
868
+
869
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
870
+ def relative_url_root; end
871
+
872
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
873
+ def relative_url_root=(value); end
874
+
875
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
876
+ def rescue_handlers; end
877
+
878
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
879
+ def rescue_handlers=(_arg0); end
880
+
881
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
882
+ def rescue_handlers?; end
883
+
884
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
885
+ def sendmail_settings; end
886
+
887
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
888
+ def sendmail_settings=(_arg0); end
889
+
890
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
891
+ def sendmail_settings?; end
892
+
893
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:22
894
+ def show_previews; end
895
+
896
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
897
+ def smtp_settings; end
898
+
899
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
900
+ def smtp_settings=(_arg0); end
901
+
902
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
903
+ def smtp_settings?; end
904
+
905
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
906
+ def stylesheets_dir; end
907
+
908
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
909
+ def stylesheets_dir=(value); end
910
+
911
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
912
+ def test_settings; end
913
+
914
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
915
+ def test_settings=(_arg0); end
916
+
917
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
918
+ def test_settings?; end
919
+
920
+ private
921
+
922
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:328
923
+ def _layout(lookup_context, formats); end
924
+
925
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1059
926
+ def _protected_ivars; end
927
+
928
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:935
929
+ def apply_defaults(headers); end
930
+
931
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:955
932
+ def assign_headers_to_message(message, headers); end
933
+
934
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:961
935
+ def collect_responses(headers, &block); end
936
+
937
+ # @yield [collector]
938
+ #
939
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:971
940
+ def collect_responses_from_block(headers); end
941
+
942
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:985
943
+ def collect_responses_from_templates(headers); end
944
+
945
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:978
946
+ def collect_responses_from_text(headers); end
947
+
948
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:945
949
+ def compute_default(value); end
950
+
951
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1028
952
+ def create_parts_from_responses(m, responses); end
953
+
954
+ # Translates the +subject+ using Rails I18n class under <tt>[mailer_scope, action_name]</tt> scope.
955
+ # If it does not find a translation for the +subject+ under the specified scope it will default to a
956
+ # humanized version of the <tt>action_name</tt>.
957
+ # If the subject has interpolations, you can pass them through the +interpolations+ parameter.
958
+ #
959
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:925
960
+ def default_i18n_subject(interpolations = T.unsafe(nil)); end
961
+
962
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:998
963
+ def each_template(paths, name, &block); end
964
+
965
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1041
966
+ def insert_part(container, response, charset); end
967
+
968
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1055
969
+ def instrument_name; end
970
+
971
+ # This and #instrument_name is for caching instrument
972
+ #
973
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1048
974
+ def instrument_payload(key); end
975
+
976
+ # Used by #mail to set the content type of the message.
977
+ #
978
+ # It will use the given +user_content_type+, or multipart if the mail
979
+ # message has any attachments. If the attachments are inline, the content
980
+ # type will be "multipart/related", otherwise "multipart/mixed".
981
+ #
982
+ # If there is no content type passed in via headers, and there are no
983
+ # attachments, or the message is multipart, then the default content type is
984
+ # used.
985
+ #
986
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:903
987
+ def set_content_type(m, user_content_type, class_default); end
988
+
989
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:1007
990
+ def wrap_inline_attachments(message); end
991
+
992
+ class << self
993
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
994
+ def __callbacks; end
995
+
996
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
997
+ def __callbacks=(value); end
998
+
999
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
1000
+ def __callbacks?; end
1001
+
1002
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
1003
+ def _helper_methods; end
1004
+
1005
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
1006
+ def _helper_methods=(value); end
1007
+
1008
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:11
1009
+ def _helper_methods?; end
1010
+
1011
+ # source://actionpack-7.0.3.1/lib/abstract_controller/helpers.rb:15
1012
+ def _helpers; end
1013
+
1014
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:209
1015
+ def _layout; end
1016
+
1017
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:209
1018
+ def _layout=(value); end
1019
+
1020
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:209
1021
+ def _layout?; end
1022
+
1023
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:210
1024
+ def _layout_conditions; end
1025
+
1026
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:210
1027
+ def _layout_conditions=(value); end
1028
+
1029
+ # source://actionview-7.0.3.1/lib/action_view/layouts.rb:210
1030
+ def _layout_conditions?; end
1031
+
1032
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932
1033
+ def _process_action_callbacks; end
1034
+
1035
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936
1036
+ def _process_action_callbacks=(value); end
1037
+
1038
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
1039
+ def _view_cache_dependencies; end
1040
+
1041
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
1042
+ def _view_cache_dependencies=(value); end
1043
+
1044
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:42
1045
+ def _view_cache_dependencies?; end
1046
+
1047
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1048
+ def asset_host; end
1049
+
1050
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1051
+ def asset_host=(value); end
1052
+
1053
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1054
+ def assets_dir; end
1055
+
1056
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1057
+ def assets_dir=(value); end
1058
+
1059
+ # Returns the name of the current mailer. This method is also being used as a path for a view lookup.
1060
+ # If this is an anonymous mailer, this method will return +anonymous+ instead.
1061
+ #
1062
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:558
1063
+ def controller_path; end
1064
+
1065
+ # Sets the defaults through app configuration:
1066
+ #
1067
+ # config.action_mailer.default(from: "no-reply@example.org")
1068
+ #
1069
+ # Aliased by ::default_options=
1070
+ #
1071
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:570
1072
+ def default(value = T.unsafe(nil)); end
1073
+
1074
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1075
+ def default_asset_host_protocol; end
1076
+
1077
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1078
+ def default_asset_host_protocol=(value); end
1079
+
1080
+ # Sets the defaults through app configuration:
1081
+ #
1082
+ # config.action_mailer.default(from: "no-reply@example.org")
1083
+ #
1084
+ # Aliased by ::default_options=
1085
+ # Allows to set defaults through app configuration:
1086
+ #
1087
+ # config.action_mailer.default_options = { from: "no-reply@example.org" }
1088
+ #
1089
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:570
1090
+ def default_options=(value = T.unsafe(nil)); end
1091
+
1092
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
1093
+ def default_params; end
1094
+
1095
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
1096
+ def default_params=(value); end
1097
+
1098
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:490
1099
+ def default_params?; end
1100
+
1101
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1102
+ def default_static_extension; end
1103
+
1104
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1105
+ def default_static_extension=(value); end
1106
+
1107
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:15
1108
+ def deliver_later_queue_name; end
1109
+
1110
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:15
1111
+ def deliver_later_queue_name=(val); end
1112
+
1113
+ # Wraps an email delivery inside of <tt>ActiveSupport::Notifications</tt> instrumentation.
1114
+ #
1115
+ # This method is actually called by the <tt>Mail::Message</tt> object itself
1116
+ # through a callback when you call <tt>:deliver</tt> on the <tt>Mail::Message</tt>,
1117
+ # calling +deliver_mail+ directly and passing a <tt>Mail::Message</tt> will do
1118
+ # nothing except tell the logger you sent the email.
1119
+ #
1120
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:585
1121
+ def deliver_mail(mail); end
1122
+
1123
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
1124
+ def delivery_job; end
1125
+
1126
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
1127
+ def delivery_job=(value); end
1128
+
1129
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:489
1130
+ def delivery_job?; end
1131
+
1132
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
1133
+ def delivery_method; end
1134
+
1135
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
1136
+ def delivery_method=(value); end
1137
+
1138
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:18
1139
+ def delivery_method?; end
1140
+
1141
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
1142
+ def delivery_methods; end
1143
+
1144
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
1145
+ def delivery_methods=(value); end
1146
+
1147
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:17
1148
+ def delivery_methods?; end
1149
+
1150
+ # Returns an email in the format "Name <email@example.com>".
1151
+ #
1152
+ # If the name is a blank string, it returns just the address.
1153
+ #
1154
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:595
1155
+ def email_address_with_name(address, name); end
1156
+
1157
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1158
+ def enable_fragment_cache_logging; end
1159
+
1160
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1161
+ def enable_fragment_cache_logging=(value); end
1162
+
1163
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1164
+ def file_settings; end
1165
+
1166
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1167
+ def file_settings=(value); end
1168
+
1169
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1170
+ def file_settings?; end
1171
+
1172
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
1173
+ def fragment_cache_keys; end
1174
+
1175
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
1176
+ def fragment_cache_keys=(value); end
1177
+
1178
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:23
1179
+ def fragment_cache_keys?; end
1180
+
1181
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1182
+ def javascripts_dir; end
1183
+
1184
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1185
+ def javascripts_dir=(value); end
1186
+
1187
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1188
+ def logger; end
1189
+
1190
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1191
+ def logger=(value); end
1192
+
1193
+ # Returns the name of the current mailer. This method is also being used as a path for a view lookup.
1194
+ # If this is an anonymous mailer, this method will return +anonymous+ instead.
1195
+ #
1196
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:558
1197
+ def mailer_name; end
1198
+
1199
+ # Allows to set the name of current mailer.
1200
+ #
1201
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:562
1202
+ def mailer_name=(_arg0); end
1203
+
1204
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1205
+ def perform_caching; end
1206
+
1207
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1208
+ def perform_caching=(value); end
1209
+
1210
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:14
1211
+ def perform_deliveries; end
1212
+
1213
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:14
1214
+ def perform_deliveries=(val); end
1215
+
1216
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:25
1217
+ def preview_interceptors; end
1218
+
1219
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:25
1220
+ def preview_interceptors=(val); end
1221
+
1222
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:14
1223
+ def preview_path; end
1224
+
1225
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:14
1226
+ def preview_path=(val); end
1227
+
1228
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:13
1229
+ def raise_delivery_errors; end
1230
+
1231
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:13
1232
+ def raise_delivery_errors=(val); end
1233
+
1234
+ # Register an Interceptor which will be called before mail is sent.
1235
+ # Either a class, string, or symbol can be passed in as the Interceptor.
1236
+ # If a string or symbol is passed in it will be camelized and constantized.
1237
+ #
1238
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:535
1239
+ def register_interceptor(interceptor); end
1240
+
1241
+ # Register one or more Interceptors which will be called before mail is sent.
1242
+ #
1243
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:509
1244
+ def register_interceptors(*interceptors); end
1245
+
1246
+ # Register an Observer which will be notified when mail is delivered.
1247
+ # Either a class, string, or symbol can be passed in as the Observer.
1248
+ # If a string or symbol is passed in it will be camelized and constantized.
1249
+ #
1250
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:521
1251
+ def register_observer(observer); end
1252
+
1253
+ # Register one or more Observers which will be notified when mail is delivered.
1254
+ #
1255
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:499
1256
+ def register_observers(*observers); end
1257
+
1258
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1259
+ def relative_url_root; end
1260
+
1261
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1262
+ def relative_url_root=(value); end
1263
+
1264
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
1265
+ def rescue_handlers; end
1266
+
1267
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
1268
+ def rescue_handlers=(value); end
1269
+
1270
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
1271
+ def rescue_handlers?; end
1272
+
1273
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1274
+ def sendmail_settings; end
1275
+
1276
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1277
+ def sendmail_settings=(value); end
1278
+
1279
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1280
+ def sendmail_settings?; end
1281
+
1282
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:22
1283
+ def show_previews; end
1284
+
1285
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:22
1286
+ def show_previews=(val); end
1287
+
1288
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1289
+ def smtp_settings; end
1290
+
1291
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1292
+ def smtp_settings=(value); end
1293
+
1294
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1295
+ def smtp_settings?; end
1296
+
1297
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:113
1298
+ def stylesheets_dir; end
1299
+
1300
+ # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:114
1301
+ def stylesheets_dir=(value); end
1302
+
1303
+ # Emails do not support relative path links.
1304
+ #
1305
+ # @return [Boolean]
1306
+ #
1307
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:931
1308
+ def supports_path?; end
1309
+
1310
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1311
+ def test_settings; end
1312
+
1313
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1314
+ def test_settings=(value); end
1315
+
1316
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:51
1317
+ def test_settings?; end
1318
+
1319
+ # Unregister a previously registered Interceptor.
1320
+ # Either a class, string, or symbol can be passed in as the Interceptor.
1321
+ # If a string or symbol is passed in it will be camelized and constantized.
1322
+ #
1323
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:542
1324
+ def unregister_interceptor(interceptor); end
1325
+
1326
+ # Unregister one or more previously registered Interceptors.
1327
+ #
1328
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:514
1329
+ def unregister_interceptors(*interceptors); end
1330
+
1331
+ # Unregister a previously registered Observer.
1332
+ # Either a class, string, or symbol can be passed in as the Observer.
1333
+ # If a string or symbol is passed in it will be camelized and constantized.
1334
+ #
1335
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:528
1336
+ def unregister_observer(observer); end
1337
+
1338
+ # Unregister one or more previously registered Observers.
1339
+ #
1340
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:504
1341
+ def unregister_observers(*observers); end
1342
+
1343
+ private
1344
+
1345
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:616
1346
+ def method_missing(method_name, *args); end
1347
+
1348
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:546
1349
+ def observer_class_for(value); end
1350
+
1351
+ # @return [Boolean]
1352
+ #
1353
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:625
1354
+ def respond_to_missing?(method, include_all = T.unsafe(nil)); end
1355
+
1356
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:603
1357
+ def set_payload_for_mail(payload, mail); end
1358
+ end
1359
+ end
1360
+
1361
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:0
1362
+ module ActionMailer::Base::HelperMethods
1363
+ include ::ActionMailer::MailHelper
1364
+
1365
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching/fragments.rb:31
1366
+ def combined_fragment_cache_key(*args, &block); end
1367
+
1368
+ # source://actionpack-7.0.3.1/lib/abstract_controller/caching.rb:43
1369
+ def view_cache_dependencies(*args, &block); end
1370
+ end
1371
+
1372
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:757
1373
+ class ActionMailer::Base::LateAttachmentsProxy < ::SimpleDelegator
1374
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:759
1375
+ def []=(_name, _content); end
1376
+
1377
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:758
1378
+ def inline; end
1379
+
1380
+ private
1381
+
1382
+ # @raise [RuntimeError]
1383
+ #
1384
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:762
1385
+ def _raise_error; end
1386
+ end
1387
+
1388
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:652
1389
+ class ActionMailer::Base::NullMail
1390
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:653
1391
+ def body; end
1392
+
1393
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:654
1394
+ def header; end
1395
+
1396
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:660
1397
+ def method_missing(*args); end
1398
+
1399
+ # @return [Boolean]
1400
+ #
1401
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:656
1402
+ def respond_to?(string, include_all = T.unsafe(nil)); end
1403
+ end
1404
+
1405
+ # source://actionmailer-7.0.3.1/lib/action_mailer/base.rb:485
1406
+ ActionMailer::Base::PROTECTED_IVARS = T.let(T.unsafe(nil), Array)
1407
+
1408
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:8
1409
+ class ActionMailer::Collector
1410
+ include ::AbstractController::Collector
1411
+
1412
+ # @return [Collector] a new instance of Collector
1413
+ #
1414
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:12
1415
+ def initialize(context, &block); end
1416
+
1417
+ # @raise [ArgumentError]
1418
+ #
1419
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:18
1420
+ def all(*args, &block); end
1421
+
1422
+ # @raise [ArgumentError]
1423
+ #
1424
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:18
1425
+ def any(*args, &block); end
1426
+
1427
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:25
1428
+ def custom(mime, options = T.unsafe(nil)); end
1429
+
1430
+ # Returns the value of attribute responses.
1431
+ #
1432
+ # source://actionmailer-7.0.3.1/lib/action_mailer/collector.rb:10
1433
+ def responses; end
1434
+ end
1435
+
1436
+ # This module handles everything related to mail delivery, from registering
1437
+ # new delivery methods to configuring the mail object to be sent.
1438
+ #
1439
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:8
1440
+ module ActionMailer::DeliveryMethods
1441
+ extend ::ActiveSupport::Concern
1442
+ include GeneratedInstanceMethods
1443
+
1444
+ mixes_in_class_methods GeneratedClassMethods
1445
+ mixes_in_class_methods ::ActionMailer::DeliveryMethods::ClassMethods
1446
+
1447
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:78
1448
+ def wrap_delivery_behavior!(*args); end
1449
+
1450
+ module GeneratedClassMethods
1451
+ def delivery_method; end
1452
+ def delivery_method=(value); end
1453
+ def delivery_method?; end
1454
+ def delivery_methods; end
1455
+ def delivery_methods=(value); end
1456
+ def delivery_methods?; end
1457
+ def file_settings; end
1458
+ def file_settings=(value); end
1459
+ def file_settings?; end
1460
+ def sendmail_settings; end
1461
+ def sendmail_settings=(value); end
1462
+ def sendmail_settings?; end
1463
+ def smtp_settings; end
1464
+ def smtp_settings=(value); end
1465
+ def smtp_settings?; end
1466
+ def test_settings; end
1467
+ def test_settings=(value); end
1468
+ def test_settings?; end
1469
+ end
1470
+
1471
+ module GeneratedInstanceMethods
1472
+ def delivery_method; end
1473
+ def delivery_method=(value); end
1474
+ def delivery_method?; end
1475
+ def delivery_methods; end
1476
+ def delivery_methods=(value); end
1477
+ def delivery_methods?; end
1478
+ def file_settings; end
1479
+ def file_settings=(value); end
1480
+ def file_settings?; end
1481
+ def sendmail_settings; end
1482
+ def sendmail_settings=(value); end
1483
+ def sendmail_settings?; end
1484
+ def smtp_settings; end
1485
+ def smtp_settings=(value); end
1486
+ def smtp_settings?; end
1487
+ def test_settings; end
1488
+ def test_settings=(value); end
1489
+ def test_settings?; end
1490
+ end
1491
+ end
1492
+
1493
+ # Helpers for creating and wrapping delivery behavior, used by DeliveryMethods.
1494
+ #
1495
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:40
1496
+ module ActionMailer::DeliveryMethods::ClassMethods
1497
+ # Adds a new delivery method through the given class using the given
1498
+ # symbol as alias and the default options supplied.
1499
+ #
1500
+ # add_delivery_method :sendmail, Mail::Sendmail,
1501
+ # location: '/usr/sbin/sendmail',
1502
+ # arguments: '-i'
1503
+ #
1504
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:50
1505
+ def add_delivery_method(symbol, klass, default_options = T.unsafe(nil)); end
1506
+
1507
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:42
1508
+ def deliveries(*_arg0, &_arg1); end
1509
+
1510
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:42
1511
+ def deliveries=(arg); end
1512
+
1513
+ # source://actionmailer-7.0.3.1/lib/action_mailer/delivery_methods.rb:56
1514
+ def wrap_delivery_behavior(mail, method = T.unsafe(nil), options = T.unsafe(nil)); end
1515
+ end
1516
+
1517
+ # Implements a mailer preview interceptor that converts image tag src attributes
1518
+ # that use inline cid: style URLs to data: style URLs so that they are visible
1519
+ # when previewing an HTML email in a web browser.
1520
+ #
1521
+ # This interceptor is enabled by default. To disable it, delete it from the
1522
+ # <tt>ActionMailer::Base.preview_interceptors</tt> array:
1523
+ #
1524
+ # ActionMailer::Base.preview_interceptors.delete(ActionMailer::InlinePreviewInterceptor)
1525
+ #
1526
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:15
1527
+ class ActionMailer::InlinePreviewInterceptor
1528
+ include ::Base64
1529
+
1530
+ # @return [InlinePreviewInterceptor] a new instance of InlinePreviewInterceptor
1531
+ #
1532
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:24
1533
+ def initialize(message); end
1534
+
1535
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:28
1536
+ def transform!; end
1537
+
1538
+ private
1539
+
1540
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:49
1541
+ def data_url(part); end
1542
+
1543
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:53
1544
+ def find_part(cid); end
1545
+
1546
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:45
1547
+ def html_part; end
1548
+
1549
+ # Returns the value of attribute message.
1550
+ #
1551
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:43
1552
+ def message; end
1553
+
1554
+ class << self
1555
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:20
1556
+ def previewing_email(message); end
1557
+ end
1558
+ end
1559
+
1560
+ # source://actionmailer-7.0.3.1/lib/action_mailer/inline_preview_interceptor.rb:16
1561
+ ActionMailer::InlinePreviewInterceptor::PATTERN = T.let(T.unsafe(nil), Regexp)
1562
+
1563
+ # Implements the ActiveSupport::LogSubscriber for logging notifications when
1564
+ # email is delivered or received.
1565
+ #
1566
+ # source://actionmailer-7.0.3.1/lib/action_mailer/log_subscriber.rb:9
1567
+ class ActionMailer::LogSubscriber < ::ActiveSupport::LogSubscriber
1568
+ # An email was delivered.
1569
+ #
1570
+ # source://actionmailer-7.0.3.1/lib/action_mailer/log_subscriber.rb:10
1571
+ def deliver(event); end
1572
+
1573
+ # Use the logger configured for ActionMailer::Base.
1574
+ #
1575
+ # source://actionmailer-7.0.3.1/lib/action_mailer/log_subscriber.rb:33
1576
+ def logger; end
1577
+
1578
+ # An email was generated.
1579
+ #
1580
+ # source://actionmailer-7.0.3.1/lib/action_mailer/log_subscriber.rb:24
1581
+ def process(event); end
1582
+ end
1583
+
1584
+ # The <tt>ActionMailer::MailDeliveryJob</tt> class is used when you
1585
+ # want to send emails outside of the request-response cycle. It supports
1586
+ # sending either parameterized or normal mail.
1587
+ #
1588
+ # Exceptions are rescued and handled by the mailer class.
1589
+ #
1590
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_delivery_job.rb:11
1591
+ class ActionMailer::MailDeliveryJob < ::ActiveJob::Base
1592
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_delivery_job.rb:16
1593
+ def perform(mailer, mail_method, delivery_method, args:, kwargs: T.unsafe(nil), params: T.unsafe(nil)); end
1594
+
1595
+ private
1596
+
1597
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_delivery_job.rb:35
1598
+ def handle_exception_with_mailer_class(exception); end
1599
+
1600
+ # "Deserialize" the mailer class name by hand in case another argument
1601
+ # (like a Global ID reference) raised DeserializationError.
1602
+ #
1603
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_delivery_job.rb:29
1604
+ def mailer_class; end
1605
+
1606
+ class << self
1607
+ # source://activejob-7.0.3.1/lib/active_job/queue_name.rb:56
1608
+ def queue_name; end
1609
+
1610
+ # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:13
1611
+ def rescue_handlers; end
1612
+ end
1613
+ end
1614
+
1615
+ # Provides helper methods for ActionMailer::Base that can be used for easily
1616
+ # formatting messages, accessing mailer or message instances, and the
1617
+ # attachments list.
1618
+ #
1619
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:7
1620
+ module ActionMailer::MailHelper
1621
+ # Access the message attachments list.
1622
+ #
1623
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:43
1624
+ def attachments; end
1625
+
1626
+ # Take the text and format it, indented two spaces for each line, and
1627
+ # wrapped at 72 columns:
1628
+ #
1629
+ # text = <<-TEXT
1630
+ # This is
1631
+ # the paragraph.
1632
+ #
1633
+ # * item1 * item2
1634
+ # TEXT
1635
+ #
1636
+ # block_format text
1637
+ # # => " This is the paragraph.\n\n * item1\n * item2\n"
1638
+ #
1639
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:20
1640
+ def block_format(text); end
1641
+
1642
+ # Returns +text+ wrapped at +len+ columns and indented +indent+ spaces.
1643
+ # By default column length +len+ equals 72 characters and indent
1644
+ # +indent+ equal two spaces.
1645
+ #
1646
+ # my_text = 'Here is a sample text with more than 40 characters'
1647
+ #
1648
+ # format_paragraph(my_text, 25, 4)
1649
+ # # => " Here is a sample text with\n more than 40 characters"
1650
+ #
1651
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:55
1652
+ def format_paragraph(text, len = T.unsafe(nil), indent = T.unsafe(nil)); end
1653
+
1654
+ # Access the mailer instance.
1655
+ #
1656
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:33
1657
+ def mailer; end
1658
+
1659
+ # Access the message instance.
1660
+ #
1661
+ # source://actionmailer-7.0.3.1/lib/action_mailer/mail_helper.rb:38
1662
+ def message; end
1663
+ end
1664
+
1665
+ # The <tt>ActionMailer::MessageDelivery</tt> class is used by
1666
+ # ActionMailer::Base when creating a new mailer.
1667
+ # <tt>MessageDelivery</tt> is a wrapper (+Delegator+ subclass) around a lazy
1668
+ # created <tt>Mail::Message</tt>. You can get direct access to the
1669
+ # <tt>Mail::Message</tt>, deliver the email or schedule the email to be sent
1670
+ # through Active Job.
1671
+ #
1672
+ # Notifier.welcome(User.first) # an ActionMailer::MessageDelivery object
1673
+ # Notifier.welcome(User.first).deliver_now # sends the email
1674
+ # Notifier.welcome(User.first).deliver_later # enqueue email delivery as a job through Active Job
1675
+ # Notifier.welcome(User.first).message # a Mail::Message object
1676
+ #
1677
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:17
1678
+ class ActionMailer::MessageDelivery
1679
+ # @return [MessageDelivery] a new instance of MessageDelivery
1680
+ #
1681
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:18
1682
+ def initialize(mailer_class, action, *args); end
1683
+
1684
+ # Method calls are delegated to the Mail::Message that's ready to deliver.
1685
+ #
1686
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:29
1687
+ def __getobj__; end
1688
+
1689
+ # Unused except for delegator internals (dup, marshalling).
1690
+ #
1691
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:34
1692
+ def __setobj__(mail_message); end
1693
+
1694
+ # Enqueues the email to be delivered through Active Job. When the
1695
+ # job runs it will send the email using +deliver_now+.
1696
+ #
1697
+ # Notifier.welcome(User.first).deliver_later
1698
+ # Notifier.welcome(User.first).deliver_later(wait: 1.hour)
1699
+ # Notifier.welcome(User.first).deliver_later(wait_until: 10.hours.from_now)
1700
+ # Notifier.welcome(User.first).deliver_later(priority: 10)
1701
+ #
1702
+ # Options:
1703
+ #
1704
+ # * <tt>:wait</tt> - Enqueue the email to be delivered with a delay.
1705
+ # * <tt>:wait_until</tt> - Enqueue the email to be delivered at (after) a specific date / time.
1706
+ # * <tt>:queue</tt> - Enqueue the email on the specified queue.
1707
+ # * <tt>:priority</tt> - Enqueues the email with the specified priority
1708
+ #
1709
+ # By default, the email will be enqueued using <tt>ActionMailer::MailDeliveryJob</tt>. Each
1710
+ # ActionMailer::Base class can specify the job to use by setting the class variable
1711
+ # +delivery_job+.
1712
+ #
1713
+ # class AccountRegistrationMailer < ApplicationMailer
1714
+ # self.delivery_job = RegistrationDeliveryJob
1715
+ # end
1716
+ #
1717
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:98
1718
+ def deliver_later(options = T.unsafe(nil)); end
1719
+
1720
+ # Enqueues the email to be delivered through Active Job. When the
1721
+ # job runs it will send the email using +deliver_now!+. That means
1722
+ # that the message will be sent bypassing checking +perform_deliveries+
1723
+ # and +raise_delivery_errors+, so use with caution.
1724
+ #
1725
+ # Notifier.welcome(User.first).deliver_later!
1726
+ # Notifier.welcome(User.first).deliver_later!(wait: 1.hour)
1727
+ # Notifier.welcome(User.first).deliver_later!(wait_until: 10.hours.from_now)
1728
+ # Notifier.welcome(User.first).deliver_later!(priority: 10)
1729
+ #
1730
+ # Options:
1731
+ #
1732
+ # * <tt>:wait</tt> - Enqueue the email to be delivered with a delay
1733
+ # * <tt>:wait_until</tt> - Enqueue the email to be delivered at (after) a specific date / time
1734
+ # * <tt>:queue</tt> - Enqueue the email on the specified queue
1735
+ # * <tt>:priority</tt> - Enqueues the email with the specified priority
1736
+ #
1737
+ # By default, the email will be enqueued using <tt>ActionMailer::MailDeliveryJob</tt>. Each
1738
+ # ActionMailer::Base class can specify the job to use by setting the class variable
1739
+ # +delivery_job+.
1740
+ #
1741
+ # class AccountRegistrationMailer < ApplicationMailer
1742
+ # self.delivery_job = RegistrationDeliveryJob
1743
+ # end
1744
+ #
1745
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:72
1746
+ def deliver_later!(options = T.unsafe(nil)); end
1747
+
1748
+ # Delivers an email:
1749
+ #
1750
+ # Notifier.welcome(User.first).deliver_now
1751
+ #
1752
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:117
1753
+ def deliver_now; end
1754
+
1755
+ # Delivers an email without checking +perform_deliveries+ and +raise_delivery_errors+,
1756
+ # so use with caution.
1757
+ #
1758
+ # Notifier.welcome(User.first).deliver_now!
1759
+ #
1760
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:107
1761
+ def deliver_now!; end
1762
+
1763
+ # Returns the resulting Mail::Message
1764
+ #
1765
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:39
1766
+ def message; end
1767
+
1768
+ # Was the delegate loaded, causing the mailer action to be processed?
1769
+ #
1770
+ # @return [Boolean]
1771
+ #
1772
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:44
1773
+ def processed?; end
1774
+
1775
+ private
1776
+
1777
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:132
1778
+ def enqueue_delivery(delivery_method, options = T.unsafe(nil)); end
1779
+
1780
+ # Returns the processed Mailer instance. We keep this instance
1781
+ # on hand so we can delegate exception handling to it.
1782
+ #
1783
+ # source://actionmailer-7.0.3.1/lib/action_mailer/message_delivery.rb:126
1784
+ def processed_mailer; end
1785
+ end
1786
+
1787
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:7
1788
+ class ActionMailer::NonInferrableMailerError < ::StandardError
1789
+ # @return [NonInferrableMailerError] a new instance of NonInferrableMailerError
1790
+ #
1791
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:8
1792
+ def initialize(name); end
1793
+ end
1794
+
1795
+ # Provides the option to parameterize mailers in order to share instance variable
1796
+ # setup, processing, and common headers.
1797
+ #
1798
+ # Consider this example that does not use parameterization:
1799
+ #
1800
+ # class InvitationsMailer < ApplicationMailer
1801
+ # def account_invitation(inviter, invitee)
1802
+ # @account = inviter.account
1803
+ # @inviter = inviter
1804
+ # @invitee = invitee
1805
+ #
1806
+ # subject = "#{@inviter.name} invited you to their Basecamp (#{@account.name})"
1807
+ #
1808
+ # mail \
1809
+ # subject: subject,
1810
+ # to: invitee.email_address,
1811
+ # from: common_address(inviter),
1812
+ # reply_to: inviter.email_address_with_name
1813
+ # end
1814
+ #
1815
+ # def project_invitation(project, inviter, invitee)
1816
+ # @account = inviter.account
1817
+ # @project = project
1818
+ # @inviter = inviter
1819
+ # @invitee = invitee
1820
+ # @summarizer = ProjectInvitationSummarizer.new(@project.bucket)
1821
+ #
1822
+ # subject = "#{@inviter.name.familiar} added you to a project in Basecamp (#{@account.name})"
1823
+ #
1824
+ # mail \
1825
+ # subject: subject,
1826
+ # to: invitee.email_address,
1827
+ # from: common_address(inviter),
1828
+ # reply_to: inviter.email_address_with_name
1829
+ # end
1830
+ #
1831
+ # def bulk_project_invitation(projects, inviter, invitee)
1832
+ # @account = inviter.account
1833
+ # @projects = projects.sort_by(&:name)
1834
+ # @inviter = inviter
1835
+ # @invitee = invitee
1836
+ #
1837
+ # subject = "#{@inviter.name.familiar} added you to some new stuff in Basecamp (#{@account.name})"
1838
+ #
1839
+ # mail \
1840
+ # subject: subject,
1841
+ # to: invitee.email_address,
1842
+ # from: common_address(inviter),
1843
+ # reply_to: inviter.email_address_with_name
1844
+ # end
1845
+ # end
1846
+ #
1847
+ # InvitationsMailer.account_invitation(person_a, person_b).deliver_later
1848
+ #
1849
+ # Using parameterized mailers, this can be rewritten as:
1850
+ #
1851
+ # class InvitationsMailer < ApplicationMailer
1852
+ # before_action { @inviter, @invitee = params[:inviter], params[:invitee] }
1853
+ # before_action { @account = params[:inviter].account }
1854
+ #
1855
+ # default to: -> { @invitee.email_address },
1856
+ # from: -> { common_address(@inviter) },
1857
+ # reply_to: -> { @inviter.email_address_with_name }
1858
+ #
1859
+ # def account_invitation
1860
+ # mail subject: "#{@inviter.name} invited you to their Basecamp (#{@account.name})"
1861
+ # end
1862
+ #
1863
+ # def project_invitation
1864
+ # @project = params[:project]
1865
+ # @summarizer = ProjectInvitationSummarizer.new(@project.bucket)
1866
+ #
1867
+ # mail subject: "#{@inviter.name.familiar} added you to a project in Basecamp (#{@account.name})"
1868
+ # end
1869
+ #
1870
+ # def bulk_project_invitation
1871
+ # @projects = params[:projects].sort_by(&:name)
1872
+ #
1873
+ # mail subject: "#{@inviter.name.familiar} added you to some new stuff in Basecamp (#{@account.name})"
1874
+ # end
1875
+ # end
1876
+ #
1877
+ # InvitationsMailer.with(inviter: person_a, invitee: person_b).account_invitation.deliver_later
1878
+ #
1879
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:87
1880
+ module ActionMailer::Parameterized
1881
+ extend ::ActiveSupport::Concern
1882
+
1883
+ mixes_in_class_methods ::ActionMailer::Parameterized::ClassMethods
1884
+ end
1885
+
1886
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:94
1887
+ module ActionMailer::Parameterized::ClassMethods
1888
+ # Provide the parameters to the mailer in order to use them in the instance methods and callbacks.
1889
+ #
1890
+ # InvitationsMailer.with(inviter: person_a, invitee: person_b).account_invitation.deliver_later
1891
+ #
1892
+ # See Parameterized documentation for full example.
1893
+ #
1894
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:100
1895
+ def with(params); end
1896
+ end
1897
+
1898
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:105
1899
+ class ActionMailer::Parameterized::Mailer
1900
+ # @return [Mailer] a new instance of Mailer
1901
+ #
1902
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:106
1903
+ def initialize(mailer, params); end
1904
+
1905
+ private
1906
+
1907
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:111
1908
+ def method_missing(method_name, *args); end
1909
+
1910
+ # @return [Boolean]
1911
+ #
1912
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:120
1913
+ def respond_to_missing?(method, include_all = T.unsafe(nil)); end
1914
+ end
1915
+
1916
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:125
1917
+ class ActionMailer::Parameterized::MessageDelivery < ::ActionMailer::MessageDelivery
1918
+ # @return [MessageDelivery] a new instance of MessageDelivery
1919
+ #
1920
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:126
1921
+ def initialize(mailer_class, action, params, *args); end
1922
+
1923
+ private
1924
+
1925
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:140
1926
+ def enqueue_delivery(delivery_method, options = T.unsafe(nil)); end
1927
+
1928
+ # source://actionmailer-7.0.3.1/lib/action_mailer/parameterized.rb:133
1929
+ def processed_mailer; end
1930
+ end
1931
+
1932
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:69
1933
+ class ActionMailer::Preview
1934
+ extend ::ActiveSupport::DescendantsTracker
1935
+
1936
+ # @return [Preview] a new instance of Preview
1937
+ #
1938
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:74
1939
+ def initialize(params = T.unsafe(nil)); end
1940
+
1941
+ # Returns the value of attribute params.
1942
+ #
1943
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:72
1944
+ def params; end
1945
+
1946
+ class << self
1947
+ # Returns all mailer preview classes.
1948
+ #
1949
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:80
1950
+ def all; end
1951
+
1952
+ # Returns the mail object for the given email name. The registered preview
1953
+ # interceptors will be informed so that they can transform the message
1954
+ # as they would if the mail was actually being delivered.
1955
+ #
1956
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:88
1957
+ def call(email, params = T.unsafe(nil)); end
1958
+
1959
+ # Returns +true+ if the email exists.
1960
+ #
1961
+ # @return [Boolean]
1962
+ #
1963
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:101
1964
+ def email_exists?(email); end
1965
+
1966
+ # Returns all of the available email previews.
1967
+ #
1968
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:96
1969
+ def emails; end
1970
+
1971
+ # Returns +true+ if the preview exists.
1972
+ #
1973
+ # @return [Boolean]
1974
+ #
1975
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:106
1976
+ def exists?(preview); end
1977
+
1978
+ # Find a mailer preview by its underscored class name.
1979
+ #
1980
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:111
1981
+ def find(preview); end
1982
+
1983
+ # Returns the underscored name of the mailer preview without the suffix.
1984
+ #
1985
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:116
1986
+ def preview_name; end
1987
+
1988
+ private
1989
+
1990
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:135
1991
+ def inform_preview_interceptors(message); end
1992
+
1993
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:121
1994
+ def load_previews; end
1995
+
1996
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:127
1997
+ def preview_path; end
1998
+
1999
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:131
2000
+ def show_previews; end
2001
+ end
2002
+ end
2003
+
2004
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:6
2005
+ module ActionMailer::Previews
2006
+ extend ::ActiveSupport::Concern
2007
+
2008
+ mixes_in_class_methods ::ActionMailer::Previews::ClassMethods
2009
+ end
2010
+
2011
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:28
2012
+ module ActionMailer::Previews::ClassMethods
2013
+ # Register an Interceptor which will be called before mail is previewed.
2014
+ # Either a class or a string can be passed in as the Interceptor. If a
2015
+ # string is passed in it will be constantized.
2016
+ #
2017
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:42
2018
+ def register_preview_interceptor(interceptor); end
2019
+
2020
+ # Register one or more Interceptors which will be called before mail is previewed.
2021
+ #
2022
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:30
2023
+ def register_preview_interceptors(*interceptors); end
2024
+
2025
+ # Unregister a previously registered Interceptor.
2026
+ # Either a class or a string can be passed in as the Interceptor. If a
2027
+ # string is passed in it will be constantized.
2028
+ #
2029
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:53
2030
+ def unregister_preview_interceptor(interceptor); end
2031
+
2032
+ # Unregister one or more previously registered Interceptors.
2033
+ #
2034
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:35
2035
+ def unregister_preview_interceptors(*interceptors); end
2036
+
2037
+ private
2038
+
2039
+ # source://actionmailer-7.0.3.1/lib/action_mailer/preview.rb:58
2040
+ def interceptor_class_for(interceptor); end
2041
+ end
2042
+
2043
+ # source://actionmailer-7.0.3.1/lib/action_mailer/railtie.rb:9
2044
+ class ActionMailer::Railtie < ::Rails::Railtie; end
2045
+
2046
+ # Provides +rescue_from+ for mailers. Wraps mailer action processing,
2047
+ # mail job processing, and mail delivery.
2048
+ #
2049
+ # source://actionmailer-7.0.3.1/lib/action_mailer/rescuable.rb:6
2050
+ module ActionMailer::Rescuable
2051
+ extend ::ActiveSupport::Concern
2052
+ include GeneratedInstanceMethods
2053
+ include ::ActiveSupport::Rescuable
2054
+
2055
+ mixes_in_class_methods GeneratedClassMethods
2056
+ mixes_in_class_methods ::ActiveSupport::Rescuable::ClassMethods
2057
+ mixes_in_class_methods ::ActionMailer::Rescuable::ClassMethods
2058
+
2059
+ # source://actionmailer-7.0.3.1/lib/action_mailer/rescuable.rb:16
2060
+ def handle_exceptions; end
2061
+
2062
+ private
2063
+
2064
+ # source://actionmailer-7.0.3.1/lib/action_mailer/rescuable.rb:23
2065
+ def process(*_arg0, &_arg1); end
2066
+
2067
+ module GeneratedClassMethods
2068
+ def rescue_handlers; end
2069
+ def rescue_handlers=(value); end
2070
+ def rescue_handlers?; end
2071
+ end
2072
+
2073
+ module GeneratedInstanceMethods
2074
+ def rescue_handlers; end
2075
+ def rescue_handlers=(value); end
2076
+ def rescue_handlers?; end
2077
+ end
2078
+ end
2079
+
2080
+ # source://actionmailer-7.0.3.1/lib/action_mailer/rescuable.rb:0
2081
+ module ActionMailer::Rescuable::ClassMethods
2082
+ # source://actionmailer-7.0.3.1/lib/action_mailer/rescuable.rb:11
2083
+ def handle_exception(exception); end
2084
+ end
2085
+
2086
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:15
2087
+ class ActionMailer::TestCase < ::ActiveSupport::TestCase
2088
+ include ::ActiveSupport::Testing::ConstantLookup
2089
+ include ::ActiveJob::TestHelper
2090
+ include ::ActionMailer::TestHelper
2091
+ include ::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
2092
+ include ::Rails::Dom::Testing::Assertions::SelectorAssertions
2093
+ include ::Rails::Dom::Testing::Assertions::DomAssertions
2094
+ include ::ActionMailer::TestCase::Behavior
2095
+ extend ::ActiveSupport::Testing::ConstantLookup::ClassMethods
2096
+ extend ::ActionMailer::TestCase::Behavior::ClassMethods
2097
+
2098
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2099
+ def _mailer_class; end
2100
+
2101
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2102
+ def _mailer_class=(_arg0); end
2103
+
2104
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2105
+ def _mailer_class?; end
2106
+
2107
+ class << self
2108
+ # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68
2109
+ def __callbacks; end
2110
+
2111
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2112
+ def _mailer_class; end
2113
+
2114
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2115
+ def _mailer_class=(value); end
2116
+
2117
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:41
2118
+ def _mailer_class?; end
2119
+ end
2120
+ end
2121
+
2122
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:32
2123
+ module ActionMailer::TestCase::Behavior
2124
+ include ::ActiveSupport::Testing::Assertions
2125
+ include ::ActiveJob::TestHelper
2126
+ include ::ActionMailer::TestHelper
2127
+ include ::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
2128
+ include ::Rails::Dom::Testing::Assertions::SelectorAssertions
2129
+ include ::Rails::Dom::Testing::Assertions::DomAssertions
2130
+ extend ::ActiveSupport::Concern
2131
+ include GeneratedInstanceMethods
2132
+ include ::ActiveSupport::Testing::ConstantLookup
2133
+
2134
+ mixes_in_class_methods GeneratedClassMethods
2135
+ mixes_in_class_methods ::ActiveSupport::Testing::ConstantLookup::ClassMethods
2136
+ mixes_in_class_methods ::ActionMailer::TestCase::Behavior::ClassMethods
2137
+
2138
+ private
2139
+
2140
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:106
2141
+ def charset; end
2142
+
2143
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:110
2144
+ def encode(subject); end
2145
+
2146
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:78
2147
+ def initialize_test_deliveries; end
2148
+
2149
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:114
2150
+ def read_fixture(action); end
2151
+
2152
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:95
2153
+ def restore_delivery_method; end
2154
+
2155
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:85
2156
+ def restore_test_deliveries; end
2157
+
2158
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:90
2159
+ def set_delivery_method(method); end
2160
+
2161
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:100
2162
+ def set_expected_mail; end
2163
+
2164
+ module GeneratedClassMethods
2165
+ def _mailer_class; end
2166
+ def _mailer_class=(value); end
2167
+ def _mailer_class?; end
2168
+ end
2169
+
2170
+ module GeneratedInstanceMethods
2171
+ def _mailer_class; end
2172
+ def _mailer_class=(value); end
2173
+ def _mailer_class?; end
2174
+ end
2175
+ end
2176
+
2177
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:48
2178
+ module ActionMailer::TestCase::Behavior::ClassMethods
2179
+ # @raise [NonInferrableMailerError]
2180
+ #
2181
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:68
2182
+ def determine_default_mailer(name); end
2183
+
2184
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:60
2185
+ def mailer_class; end
2186
+
2187
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:49
2188
+ def tests(mailer); end
2189
+ end
2190
+
2191
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:16
2192
+ module ActionMailer::TestCase::ClearTestDeliveries
2193
+ extend ::ActiveSupport::Concern
2194
+
2195
+ private
2196
+
2197
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_case.rb:25
2198
+ def clear_test_deliveries; end
2199
+ end
2200
+
2201
+ # Provides helper methods for testing Action Mailer, including #assert_emails
2202
+ # and #assert_no_emails.
2203
+ #
2204
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:8
2205
+ module ActionMailer::TestHelper
2206
+ include ::ActiveSupport::Testing::Assertions
2207
+ include ::ActiveJob::TestHelper
2208
+
2209
+ # Asserts that the number of emails sent matches the given number.
2210
+ #
2211
+ # def test_emails
2212
+ # assert_emails 0
2213
+ # ContactMailer.welcome.deliver_now
2214
+ # assert_emails 1
2215
+ # ContactMailer.welcome.deliver_now
2216
+ # assert_emails 2
2217
+ # end
2218
+ #
2219
+ # If a block is passed, that block should cause the specified number of
2220
+ # emails to be sent.
2221
+ #
2222
+ # def test_emails_again
2223
+ # assert_emails 1 do
2224
+ # ContactMailer.welcome.deliver_now
2225
+ # end
2226
+ #
2227
+ # assert_emails 2 do
2228
+ # ContactMailer.welcome.deliver_now
2229
+ # ContactMailer.welcome.deliver_later
2230
+ # end
2231
+ # end
2232
+ #
2233
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:34
2234
+ def assert_emails(number, &block); end
2235
+
2236
+ # Asserts that a specific email has been enqueued, optionally
2237
+ # matching arguments.
2238
+ #
2239
+ # def test_email
2240
+ # ContactMailer.welcome.deliver_later
2241
+ # assert_enqueued_email_with ContactMailer, :welcome
2242
+ # end
2243
+ #
2244
+ # def test_email_with_arguments
2245
+ # ContactMailer.welcome("Hello", "Goodbye").deliver_later
2246
+ # assert_enqueued_email_with ContactMailer, :welcome, args: ["Hello", "Goodbye"]
2247
+ # end
2248
+ #
2249
+ # If a block is passed, that block should cause the specified email
2250
+ # to be enqueued.
2251
+ #
2252
+ # def test_email_in_block
2253
+ # assert_enqueued_email_with ContactMailer, :welcome do
2254
+ # ContactMailer.welcome.deliver_later
2255
+ # end
2256
+ # end
2257
+ #
2258
+ # If +args+ is provided as a Hash, a parameterized email is matched.
2259
+ #
2260
+ # def test_parameterized_email
2261
+ # assert_enqueued_email_with ContactMailer, :welcome,
2262
+ # args: {email: 'user@example.com'} do
2263
+ # ContactMailer.with(email: 'user@example.com').welcome.deliver_later
2264
+ # end
2265
+ # end
2266
+ #
2267
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:126
2268
+ def assert_enqueued_email_with(mailer, method, args: T.unsafe(nil), queue: T.unsafe(nil), &block); end
2269
+
2270
+ # Asserts that the number of emails enqueued for later delivery matches
2271
+ # the given number.
2272
+ #
2273
+ # def test_emails
2274
+ # assert_enqueued_emails 0
2275
+ # ContactMailer.welcome.deliver_later
2276
+ # assert_enqueued_emails 1
2277
+ # ContactMailer.welcome.deliver_later
2278
+ # assert_enqueued_emails 2
2279
+ # end
2280
+ #
2281
+ # If a block is passed, that block should cause the specified number of
2282
+ # emails to be enqueued.
2283
+ #
2284
+ # def test_emails_again
2285
+ # assert_enqueued_emails 1 do
2286
+ # ContactMailer.welcome.deliver_later
2287
+ # end
2288
+ #
2289
+ # assert_enqueued_emails 2 do
2290
+ # ContactMailer.welcome.deliver_later
2291
+ # ContactMailer.welcome.deliver_later
2292
+ # end
2293
+ # end
2294
+ #
2295
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:92
2296
+ def assert_enqueued_emails(number, &block); end
2297
+
2298
+ # Asserts that no emails have been sent.
2299
+ #
2300
+ # def test_emails
2301
+ # assert_no_emails
2302
+ # ContactMailer.welcome.deliver_now
2303
+ # assert_emails 1
2304
+ # end
2305
+ #
2306
+ # If a block is passed, that block should not cause any emails to be sent.
2307
+ #
2308
+ # def test_emails_again
2309
+ # assert_no_emails do
2310
+ # # No emails should be sent from this block
2311
+ # end
2312
+ # end
2313
+ #
2314
+ # Note: This assertion is simply a shortcut for:
2315
+ #
2316
+ # assert_emails 0, &block
2317
+ #
2318
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:64
2319
+ def assert_no_emails(&block); end
2320
+
2321
+ # Asserts that no emails are enqueued for later delivery.
2322
+ #
2323
+ # def test_no_emails
2324
+ # assert_no_enqueued_emails
2325
+ # ContactMailer.welcome.deliver_later
2326
+ # assert_enqueued_emails 1
2327
+ # end
2328
+ #
2329
+ # If a block is provided, it should not cause any emails to be enqueued.
2330
+ #
2331
+ # def test_no_emails
2332
+ # assert_no_enqueued_emails do
2333
+ # # No emails should be enqueued from this block
2334
+ # end
2335
+ # end
2336
+ #
2337
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:150
2338
+ def assert_no_enqueued_emails(&block); end
2339
+
2340
+ private
2341
+
2342
+ # source://actionmailer-7.0.3.1/lib/action_mailer/test_helper.rb:155
2343
+ def delivery_job_filter(job); end
2344
+ end
2345
+
2346
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:9
2347
+ module ActionMailer::VERSION; end
2348
+
2349
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:10
2350
+ ActionMailer::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
2351
+
2352
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:11
2353
+ ActionMailer::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
2354
+
2355
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:13
2356
+ ActionMailer::VERSION::PRE = T.let(T.unsafe(nil), String)
2357
+
2358
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:15
2359
+ ActionMailer::VERSION::STRING = T.let(T.unsafe(nil), String)
2360
+
2361
+ # source://actionmailer-7.0.3.1/lib/action_mailer/gem_version.rb:12
2362
+ ActionMailer::VERSION::TINY = T.let(T.unsafe(nil), Integer)