effective_email_templates 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1522926c50dd2f6874bc8cb41b906b4c8c2d31b8f0952ae1dc7482b647dc184c
4
- data.tar.gz: 3cab7ba180c3eadfeb74e6c6806ed24b46b74408073eb94f04598b23776bdfce
3
+ metadata.gz: b61c8d36a7412e96eef80c03fb75480a8da1de2156b67587d7fb88b24e85e7bd
4
+ data.tar.gz: dca4e0ccafebf84a7b19f78797854fbb98d1547e18d7a593b408f69ef6e3658c
5
5
  SHA512:
6
- metadata.gz: 93d50932390ea0c38b202196451c58623f433a78d8d131b0568da75a1e44b0029653285934a1d311db7c7a658a2c78c969bbbabf78144e2335d4454ccd0fbfdb
7
- data.tar.gz: 9b5fe215d1dd3bb1f2e05d1a5417536eb4a38f3a29c0369e0346562347c308b88a21fe9d96a4c1e6f017d926b01429aed989e9e8f0310d7f4754b4ed7c152675
6
+ metadata.gz: 65426e9861152f2794e2817f70983fed0c9c918f3c24fd819f92aa1353fc28d122c4573b0c4e68ce8953d7dcb7ff5de170d38b6eab6969c71d77fa0ad6b0d75c
7
+ data.tar.gz: 9754add70dac2088baf9ee4c8b2fdb4e9f3f290043db9a9af358c323655e4f11d7f6aa0073506f4fe11b421c6f04fc650dd31ce58175d298cd1cbeb7664b4d57
@@ -9,21 +9,26 @@ module EffectiveEmailTemplatesMailer
9
9
 
10
10
  assigns = (@assigns || {})
11
11
 
12
- # Parse assigns. Special keys for body and subject.
12
+ # Parse body content if given
13
13
  body = assigns.delete(:body) || headers[:body] || headers['body']
14
14
  email_template.body = body if body.present?
15
15
 
16
- # Ignore the subject when passed in via mail method subject: key.
16
+ # Parse subject content if explicitly given
17
+ # Otherwise the :subject key is a default and should be ignored in favor of the email template subject instead
17
18
  subject = assigns.delete(:subject)
19
+ subject ||= (headers[:subject] || headers['subject']) if (headers[:custom_subject] || headers['custom_subject'])
18
20
  email_template.subject = subject if subject.present?
19
21
 
20
22
  # Add any _url helpers
21
23
  assigns = route_url_assigns(email_template, assigns).merge(assigns)
22
24
 
23
- # Render from the template, possibly with updated body
25
+ # Render from the template, possibly with updated body and subject
24
26
  rendered = email_template.render(assigns)
25
27
 
26
- super(rendered.merge(headers.except(:body, :subject, 'body', 'subject')))
28
+ # Merge any other passed values
29
+ merged = rendered.merge(headers.except(:body, :subject, :custom_subject, 'body', 'subject', 'custom_subject'))
30
+
31
+ super(merged)
27
32
  end
28
33
 
29
34
  private
@@ -1,3 +1,3 @@
1
1
  module EffectiveEmailTemplates
2
- VERSION = '1.5.1'.freeze
2
+ VERSION = '1.6.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_email_templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect