actionmailer 7.1.0 → 7.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b0e663bb9c70b6e9ca92404d6148f620a2cb5033dde97472af7bbb5a913af91
4
- data.tar.gz: be9f88001b5e3aae466c92539d2328c5a1c76684f8c68d33ea714fa6ba584492
3
+ metadata.gz: 07b7a9aec1986d24d75eb514f3e717e949f2fc27929a1b8e6d32528b11aa39e5
4
+ data.tar.gz: 70a624c37e3d140754177912693c5399aa19ece3542f1ace5b51c3a76defe9d2
5
5
  SHA512:
6
- metadata.gz: abd1903b2e839a026808e7b7185d09203935326087b3cedd4586b04331fc726045d54a7afea88fe2fef74054740928e7dc9584f1498156bafe3bd61a3f021f47
7
- data.tar.gz: 00a1eeae613cc1e04f8b0546ccd943bd1e25d847783e51619845c408725c7c55300990738f413a76a26a091b091d17268376d0c12af28495a231ade152fe8fc2
6
+ metadata.gz: ffa758070ad98f04f49308a31b8e53c104ca906b31f613d04ffb62f75c04c7b14212bc0184709856dedc41f9ccb7dd4f1683ce42f89b14c55401dbdaee370239
7
+ data.tar.gz: f367f213daa44ac80ecf02085c3d829ac807f425f48bd2e5f935d638ae83372cade6c68522a0d9cb2f2fa3b2149b819b036c0aa4ac307d479877121cd951d31d
data/CHANGELOG.md CHANGED
@@ -1,143 +1,37 @@
1
- ## Rails 7.1.0 (October 05, 2023) ##
1
+ ## Rails 7.2.2 (October 30, 2024) ##
2
2
 
3
3
  * No changes.
4
4
 
5
5
 
6
- ## Rails 7.1.0.rc2 (October 01, 2023) ##
6
+ ## Rails 7.2.1.2 (October 23, 2024) ##
7
7
 
8
- * No changes.
9
-
10
-
11
- ## Rails 7.1.0.rc1 (September 27, 2023) ##
12
-
13
- * Introduce `ActionMailer::FormBuilder`
14
-
15
- Use the `default_form_builder` method in mailers to set the default form builder
16
- for templates rendered by that mailer. Matches the behaviour in Action Controller.
17
-
18
- *Alex Ghiculescu*
19
-
20
-
21
- ## Rails 7.1.0.beta1 (September 13, 2023) ##
22
-
23
- * Mailers are listed in alphabetical order on the mailer preview page now.
24
-
25
- *Martin Spickermann*
26
-
27
- * Deprecate passing params to `assert_enqueued_email_with` via the `:args`
28
- kwarg. `assert_enqueued_email_with` now supports a `:params` kwarg, so use
29
- that to pass params:
30
-
31
- ```ruby
32
- # BEFORE
33
- assert_enqueued_email_with MyMailer, :my_method, args: { my_param: "value" }
34
-
35
- # AFTER
36
- assert_enqueued_email_with MyMailer, :my_method, params: { my_param: "value" }
37
- ```
38
-
39
- To specify named mailer args as a Hash, wrap the Hash in an array:
40
-
41
- ```ruby
42
- assert_enqueued_email_with MyMailer, :my_method, args: [{ my_arg: "value" }]
43
- # OR
44
- assert_enqueued_email_with MyMailer, :my_method, args: [my_arg: "value"]
45
- ```
46
-
47
- *Jonathan Hefner*
8
+ * Fix NoMethodError in `block_format` helper
48
9
 
49
- * Accept procs for args and params in `assert_enqueued_email_with`
10
+ *Michael Leimstaedtner*
50
11
 
51
- ```ruby
52
- assert_enqueued_email_with DeliveryJob, params: -> p { p[:token] =~ /\w+/ } do
53
- UserMailer.with(token: user.generate_token).email_verification.deliver_later
54
- end
55
- ```
56
12
 
57
- *Max Chernyak*
13
+ ## Rails 7.2.1.1 (October 15, 2024) ##
58
14
 
59
- * Added `*_deliver` callbacks to `ActionMailer::Base` that wrap mail message delivery.
15
+ * Avoid regex backtracking in `block_format` helper
60
16
 
61
- Example:
17
+ [CVE-2024-47889]
62
18
 
63
- ```ruby
64
- class EventsMailer < ApplicationMailer
65
- after_deliver do
66
- User.find_by(email: message.to.first).update(email_provider_id: message.message_id, emailed_at: Time.current)
67
- end
68
- end
69
- ```
19
+ *John Hawthorn*
70
20
 
71
- *Ben Sheldon*
72
21
 
73
- * Added `deliver_enqueued_emails` to `ActionMailer::TestHelper`. This method
74
- delivers all enqueued email jobs.
22
+ ## Rails 7.2.1 (August 22, 2024) ##
75
23
 
76
- Example:
77
-
78
- ```ruby
79
- def test_deliver_enqueued_emails
80
- deliver_enqueued_emails do
81
- ContactMailer.welcome.deliver_later
82
- end
83
- assert_emails 1
84
- end
85
- ```
86
-
87
- *Andrew Novoselac*
88
-
89
- * The `deliver_later_queue_name` used by the default mailer job can now be
90
- configured on a per-mailer basis. Previously this was only configurable
91
- for all mailers via `ActionMailer::Base`.
92
-
93
- Example:
94
-
95
- ```ruby
96
- class EventsMailer < ApplicationMailer
97
- self.deliver_later_queue_name = :throttled_mailer
98
- end
99
- ```
100
-
101
- *Jeffrey Hardy*
102
-
103
- * Email previews now include an expandable section to show all headers.
104
-
105
- Headers like `Message-ID` for threading or email service provider specific
106
- features like analytics tags or account metadata can now be viewed directly
107
- in the mailer preview.
108
-
109
- *Matt Swanson*
110
-
111
- * Default `ActionMailer::Parameterized#params` to an empty `Hash`
112
-
113
- *Sean Doyle*
114
-
115
- * Introduce the `capture_emails` test helper.
116
-
117
- Returns all emails that are sent in a block.
118
-
119
- ```ruby
120
- def test_emails
121
- emails = capture_emails do
122
- ContactMailer.welcome.deliver_now
123
- ContactMailer.welcome.deliver_later
124
- end
125
- assert_email "Hi there", emails.first.subject
126
- end
127
- ```
24
+ * No changes.
128
25
 
129
- *Alex Ghiculescu*
130
26
 
131
- * Added ability to download `.eml` file for the email preview.
27
+ ## Rails 7.2.0 (August 09, 2024) ##
132
28
 
133
- *Igor Kasyanchuk*
29
+ * Remove deprecated params via `:args` for `assert_enqueued_email_with`.
134
30
 
135
- * Support multiple preview paths for mailers.
31
+ *Rafael Mendonça França*
136
32
 
137
- Option `config.action_mailer.preview_path` is deprecated in favor of
138
- `config.action_mailer.preview_paths`. Appending paths to this configuration option
139
- will cause those paths to be used in the search for mailer previews.
33
+ * Remove deprecated `config.action_mailer.preview_path`.
140
34
 
141
- *fatkodima*
35
+ *Rafael Mendonça França*
142
36
 
143
- Please check [7-0-stable](https://github.com/rails/rails/blob/7-0-stable/actionmailer/CHANGELOG.md) for previous changes.
37
+ Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionmailer/CHANGELOG.md) for previous changes.
@@ -14,7 +14,7 @@ module ActionMailer
14
14
  #
15
15
  # Action Mailer allows you to send email from your application using a mailer model and views.
16
16
  #
17
- # = Mailer Models
17
+ # == Mailer Models
18
18
  #
19
19
  # To use Action Mailer, you need to create a mailer model.
20
20
  #
@@ -86,7 +86,7 @@ module ActionMailer
86
86
  # format.html { render "some_other_template" }
87
87
  # end
88
88
  #
89
- # = Mailer views
89
+ # == Mailer views
90
90
  #
91
91
  # Like Action Controller, each mailer class has a corresponding view directory in which each
92
92
  # method of the class looks for a template with its name.
@@ -114,7 +114,7 @@ module ActionMailer
114
114
  # <%= truncate(@note.body, length: 25) %>
115
115
  #
116
116
  #
117
- # = Generating URLs
117
+ # == Generating URLs
118
118
  #
119
119
  # URLs can be generated in mailer views using <tt>url_for</tt> or named routes. Unlike controllers from
120
120
  # Action Pack, the mailer instance doesn't have any context about the incoming request, so you'll need
@@ -142,7 +142,7 @@ module ActionMailer
142
142
  #
143
143
  # By default when <tt>config.force_ssl</tt> is +true+, URLs generated for hosts will use the HTTPS protocol.
144
144
  #
145
- # = Sending mail
145
+ # == Sending mail
146
146
  #
147
147
  # Once a mailer action and template are defined, you can deliver your message or defer its creation and
148
148
  # delivery for later:
@@ -167,7 +167,7 @@ module ActionMailer
167
167
  # You never instantiate your mailer class. Rather, you just call the method you defined on the class itself.
168
168
  # All instance methods are expected to return a message object to be sent.
169
169
  #
170
- # = Multipart Emails
170
+ # == Multipart Emails
171
171
  #
172
172
  # Multipart messages can also be used implicitly because Action Mailer will automatically detect and use
173
173
  # multipart templates, where each template is named after the name of the action, followed by the content
@@ -188,7 +188,7 @@ module ActionMailer
188
188
  # This means that you'll have to manually add each part to the email and set the content type of the email
189
189
  # to <tt>multipart/alternative</tt>.
190
190
  #
191
- # = Attachments
191
+ # == Attachments
192
192
  #
193
193
  # Sending attachment in emails is easy:
194
194
  #
@@ -228,7 +228,7 @@ module ActionMailer
228
228
  # end
229
229
  # end
230
230
  #
231
- # = Inline Attachments
231
+ # == Inline Attachments
232
232
  #
233
233
  # You can also specify that a file should be displayed inline with other HTML. This is useful
234
234
  # if you want to display a corporate logo or a photo.
@@ -254,7 +254,7 @@ module ActionMailer
254
254
  #
255
255
  # <%= image_tag attachments['photo.png'].url, alt: 'Our Photo', class: 'photo' -%>
256
256
  #
257
- # = Observing and Intercepting Mails
257
+ # == Observing and Intercepting Mails
258
258
  #
259
259
  # Action Mailer provides hooks into the Mail observer and interceptor methods. These allow you to
260
260
  # register classes that are called during the mail delivery life cycle.
@@ -267,7 +267,7 @@ module ActionMailer
267
267
  # the delivery agents. Your class should make any needed modifications directly to the passed
268
268
  # in +Mail::Message+ instance.
269
269
  #
270
- # = Default \Hash
270
+ # == Default \Hash
271
271
  #
272
272
  # Action Mailer provides some intelligent defaults for your emails, these are usually specified in a
273
273
  # default method inside the class definition:
@@ -316,7 +316,7 @@ module ActionMailer
316
316
  #
317
317
  # config.action_mailer.default_options = { from: "no-reply@example.org" }
318
318
  #
319
- # = \Callbacks
319
+ # == \Callbacks
320
320
  #
321
321
  # You can specify callbacks using <tt>before_action</tt> and <tt>after_action</tt> for configuring your messages,
322
322
  # and using <tt>before_deliver</tt> and <tt>after_deliver</tt> for wrapping the delivery process.
@@ -350,7 +350,7 @@ module ActionMailer
350
350
  # using <tt>before_action</tt> rather than <tt>after_action</tt> in your
351
351
  # Action Mailer classes so that headers are parsed properly.
352
352
  #
353
- # = Rescuing Errors
353
+ # == Rescuing Errors
354
354
  #
355
355
  # +rescue+ blocks inside of a mailer method cannot rescue errors that occur
356
356
  # outside of rendering -- for example, record deserialization errors in a
@@ -373,7 +373,7 @@ module ActionMailer
373
373
  # end
374
374
  # end
375
375
  #
376
- # = Previewing emails
376
+ # == Previewing emails
377
377
  #
378
378
  # You can preview your email templates visually by adding a mailer preview file to the
379
379
  # <tt>ActionMailer::Base.preview_paths</tt>. Since most emails do something interesting
@@ -410,7 +410,7 @@ module ActionMailer
410
410
  # and <tt>register_preview_interceptor</tt> if they should operate on both sending and
411
411
  # previewing emails.
412
412
  #
413
- # = Configuration options
413
+ # == Configuration options
414
414
  #
415
415
  # These options are specified on the class level, like
416
416
  # <tt>ActionMailer::Base.raise_delivery_errors = true</tt>
@@ -625,17 +625,16 @@ module ActionMailer
625
625
  payload[:perform_deliveries] = mail.perform_deliveries
626
626
  end
627
627
 
628
- def method_missing(method_name, *args)
629
- if action_methods.include?(method_name.to_s)
630
- MessageDelivery.new(self, method_name, *args)
628
+ def method_missing(method_name, ...)
629
+ if action_methods.include?(method_name.name)
630
+ MessageDelivery.new(self, method_name, ...)
631
631
  else
632
632
  super
633
633
  end
634
634
  end
635
- ruby2_keywords(:method_missing)
636
635
 
637
636
  def respond_to_missing?(method, include_all = false)
638
- action_methods.include?(method.to_s) || super
637
+ action_methods.include?(method.name) || super
639
638
  end
640
639
  end
641
640
 
@@ -669,7 +668,7 @@ module ActionMailer
669
668
  true
670
669
  end
671
670
 
672
- def method_missing(*args)
671
+ def method_missing(...)
673
672
  nil
674
673
  end
675
674
  end
@@ -32,8 +32,7 @@ module ActionMailer
32
32
 
33
33
  add_delivery_method :sendmail, Mail::Sendmail,
34
34
  location: "/usr/sbin/sendmail",
35
- # See breaking change in the mail gem - https://github.com/mikel/mail/commit/7e1196bd29815a0901d7290c82a332c0959b163a
36
- arguments: Gem::Version.new(Mail::VERSION.version) >= Gem::Version.new("2.8.0") ? %w[-i] : "-i"
35
+ arguments: %w[-i]
37
36
 
38
37
  add_delivery_method :test, Mail::TestMailer
39
38
  end
@@ -8,8 +8,8 @@ module ActionMailer
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 7
11
- MINOR = 1
12
- TINY = 0
11
+ MINOR = 2
12
+ TINY = 2
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -25,10 +25,18 @@ module ActionMailer
25
25
  }.join("\n\n")
26
26
 
27
27
  # Make list points stand on their own line
28
- formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { " #{$1} #{$2.strip}\n" }
29
- formatted.gsub!(/[ ]*([#]+) ([^#]*)/) { " #{$1} #{$2.strip}\n" }
28
+ output = +""
29
+ splits = formatted.split(/(\*+|\#+)/)
30
+ while line = splits.shift
31
+ if line.start_with?("*", "#") && splits.first&.start_with?(" ")
32
+ output.chomp!(" ") while output.end_with?(" ")
33
+ output << " #{line} #{splits.shift.strip}\n"
34
+ else
35
+ output << line
36
+ end
37
+ end
30
38
 
31
- formatted
39
+ output
32
40
  end
33
41
 
34
42
  # Access the mailer instance.
@@ -114,14 +114,13 @@ module ActionMailer
114
114
  end
115
115
 
116
116
  private
117
- def method_missing(method_name, *args)
118
- if @mailer.action_methods.include?(method_name.to_s)
119
- ActionMailer::Parameterized::MessageDelivery.new(@mailer, method_name, @params, *args)
117
+ def method_missing(method_name, ...)
118
+ if @mailer.action_methods.include?(method_name.name)
119
+ ActionMailer::Parameterized::MessageDelivery.new(@mailer, method_name, @params, ...)
120
120
  else
121
121
  super
122
122
  end
123
123
  end
124
- ruby2_keywords(:method_missing)
125
124
 
126
125
  def respond_to_missing?(method, include_all = false)
127
126
  @mailer.respond_to?(method, include_all)
@@ -129,11 +128,10 @@ module ActionMailer
129
128
  end
130
129
 
131
130
  class MessageDelivery < ActionMailer::MessageDelivery # :nodoc:
132
- def initialize(mailer_class, action, params, *args)
133
- super(mailer_class, action, *args)
131
+ def initialize(mailer_class, action, params, ...)
132
+ super(mailer_class, action, ...)
134
133
  @params = params
135
134
  end
136
- ruby2_keywords(:initialize)
137
135
 
138
136
  private
139
137
  def processed_mailer
@@ -25,31 +25,7 @@ module ActionMailer
25
25
  mattr_accessor :preview_interceptors, instance_writer: false, default: [ActionMailer::InlinePreviewInterceptor]
26
26
  end
27
27
 
28
- def preview_path
29
- ActionMailer.deprecator.warn(<<-MSG.squish)
30
- Using preview_path option is deprecated and will be removed in Rails 7.2.
31
- Please use preview_paths instead.
32
- MSG
33
- self.class.preview_paths.first
34
- end
35
-
36
28
  module ClassMethods
37
- def preview_path=(value)
38
- ActionMailer.deprecator.warn(<<-MSG.squish)
39
- Using preview_path= option is deprecated and will be removed in Rails 7.2.
40
- Please use preview_paths= instead.
41
- MSG
42
- self.preview_paths << value
43
- end
44
-
45
- def preview_path
46
- ActionMailer.deprecator.warn(<<-MSG.squish)
47
- Using preview_path option is deprecated and will be removed in Rails 7.2.
48
- Please use preview_paths instead.
49
- MSG
50
- self.preview_paths.first
51
- end
52
-
53
29
  # Register one or more Interceptors which will be called before mail is previewed.
54
30
  def register_preview_interceptors(*interceptors)
55
31
  interceptors.flatten.compact.each { |interceptor| register_preview_interceptor(interceptor) }
@@ -71,16 +71,6 @@ module ActionMailer
71
71
  initializer "action_mailer.set_autoload_paths", before: :set_autoload_paths do |app|
72
72
  options = app.config.action_mailer
73
73
  app.config.paths["test/mailers/previews"].concat(options.preview_paths)
74
-
75
- # Preview paths configuration needs a pass.
76
- #
77
- # config.paths is cached as soon as it is accessed. Therefore, mutating
78
- # paths["test/mailers/previews"] does not guarantee config.autoload_paths
79
- # is going to include them.
80
- #
81
- # If config.paths was accessed before, config.autoload_paths is going to
82
- # have whatever paths["test/mailers/previews"] had when cached.
83
- app.config.autoload_paths.concat(options.preview_paths)
84
74
  end
85
75
 
86
76
  initializer "action_mailer.compile_config_methods" do
@@ -160,26 +160,6 @@ module ActionMailer
160
160
  mailer = mailer.instance_variable_get(:@mailer)
161
161
  end
162
162
 
163
- if args.is_a?(Hash)
164
- ActionMailer.deprecator.warn <<~MSG
165
- Passing a Hash to the assert_enqueued_email_with :args kwarg causes the
166
- Hash to be treated as params. This behavior is deprecated and will be
167
- removed in Rails 7.2.
168
-
169
- To specify a params Hash, use the :params kwarg:
170
-
171
- assert_enqueued_email_with MyMailer, :my_method, params: { my_param: "value" }
172
-
173
- Or, to specify named mailer args as a Hash, wrap the Hash in an array:
174
-
175
- assert_enqueued_email_with MyMailer, :my_method, args: [{ my_arg: "value" }]
176
- # OR
177
- assert_enqueued_email_with MyMailer, :my_method, args: [my_arg: "value"]
178
- MSG
179
-
180
- params, args = args, nil
181
- end
182
-
183
163
  args = Array(args) unless args.is_a?(Proc)
184
164
  queue ||= mailer.deliver_later_queue_name || ActiveJob::Base.default_queue_name
185
165
 
data/lib/action_mailer.rb CHANGED
@@ -35,7 +35,7 @@ require "active_support/core_ext/module/attr_internal"
35
35
  require "active_support/core_ext/string/inflections"
36
36
  require "active_support/lazy_load_hooks"
37
37
 
38
- # :include: actionmailer/README.rdoc
38
+ # :include: ../README.rdoc
39
39
  module ActionMailer
40
40
  extend ::ActiveSupport::Autoload
41
41
 
@@ -1,7 +1,9 @@
1
1
  <% module_namespacing do -%>
2
2
  class <%= class_name %>Mailer < ApplicationMailer
3
- <% actions.each do |action| -%>
3
+ <% actions.each_with_index do |action, index| -%>
4
+ <% if index != 0 -%>
4
5
 
6
+ <% end -%>
5
7
  # Subject can be set in your I18n file at config/locales/en.yml
6
8
  # with the following lookup:
7
9
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionmailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.0
4
+ version: 7.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-05 00:00:00.000000000 Z
11
+ date: 2024-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,118 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.1.0
19
+ version: 7.2.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 7.1.0
26
+ version: 7.2.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.1.0
33
+ version: 7.2.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 7.1.0
40
+ version: 7.2.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: actionview
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 7.1.0
47
+ version: 7.2.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 7.1.0
54
+ version: 7.2.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activejob
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 7.1.0
61
+ version: 7.2.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 7.1.0
68
+ version: 7.2.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mail
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.5'
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 2.5.4
79
- type: :runtime
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - "~>"
84
- - !ruby/object:Gem::Version
85
- version: '2.5'
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: 2.5.4
89
- - !ruby/object:Gem::Dependency
90
- name: net-imap
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: net-pop
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: net-smtp
119
71
  requirement: !ruby/object:Gem::Requirement
120
72
  requirements:
121
73
  - - ">="
122
74
  - !ruby/object:Gem::Version
123
- version: '0'
75
+ version: 2.8.0
124
76
  type: :runtime
125
77
  prerelease: false
126
78
  version_requirements: !ruby/object:Gem::Requirement
127
79
  requirements:
128
80
  - - ">="
129
81
  - !ruby/object:Gem::Version
130
- version: '0'
82
+ version: 2.8.0
131
83
  - !ruby/object:Gem::Dependency
132
84
  name: rails-dom-testing
133
85
  requirement: !ruby/object:Gem::Requirement
@@ -182,12 +134,12 @@ licenses:
182
134
  - MIT
183
135
  metadata:
184
136
  bug_tracker_uri: https://github.com/rails/rails/issues
185
- changelog_uri: https://github.com/rails/rails/blob/v7.1.0/actionmailer/CHANGELOG.md
186
- documentation_uri: https://api.rubyonrails.org/v7.1.0/
137
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.2/actionmailer/CHANGELOG.md
138
+ documentation_uri: https://api.rubyonrails.org/v7.2.2/
187
139
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
188
- source_code_uri: https://github.com/rails/rails/tree/v7.1.0/actionmailer
140
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2/actionmailer
189
141
  rubygems_mfa_required: 'true'
190
- post_install_message:
142
+ post_install_message:
191
143
  rdoc_options: []
192
144
  require_paths:
193
145
  - lib
@@ -195,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
147
  requirements:
196
148
  - - ">="
197
149
  - !ruby/object:Gem::Version
198
- version: 2.7.0
150
+ version: 3.1.0
199
151
  required_rubygems_version: !ruby/object:Gem::Requirement
200
152
  requirements:
201
153
  - - ">="
@@ -203,8 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
155
  version: '0'
204
156
  requirements:
205
157
  - none
206
- rubygems_version: 3.4.18
207
- signing_key:
158
+ rubygems_version: 3.5.16
159
+ signing_key:
208
160
  specification_version: 4
209
161
  summary: Email composition and delivery framework (part of Rails).
210
162
  test_files: []