custom_emails 0.0.1 → 0.0.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.
@@ -12,14 +12,14 @@ class MailerTest < ActionMailer::TestCase
12
12
  ActionMailer::Base.deliveries.last
13
13
  end
14
14
 
15
- test 'email content_text is used when custom_email_to is called' do
15
+ test 'email interpolated attributes are used when custom_email_to is called' do
16
16
  kind = CustomEmails::EmailKind.create(name: :kind_1)
17
- email = CustomEmails::Email.create(kind: kind, locale: :en, subject: 'Hello world!', content_text: 'Good luck...')
18
- mail = CustomEmails::Mailer.custom_email_to('test@example.com', :kind_1)
17
+ email = CustomEmails::Email.create(kind: kind, locale: :en, subject: 'Hello {{ name }}!', content_text: 'Good luck {{ name }}...')
18
+ mail = CustomEmails::Mailer.custom_email_to('test@example.com', :kind_1, nil, context: {'name' => 'Luc'})
19
19
  mail.deliver
20
20
 
21
- assert(last_email.subject == 'Hello world!')
22
- assert(last_email.body == 'Good luck...')
21
+ assert(last_email.subject == 'Hello Luc!')
22
+ assert(last_email.body == 'Good luck Luc...')
23
23
  assert(last_email.from.include?(@sender_email))
24
24
  assert(last_email.to.include?('test@example.com'))
25
25
  end
@@ -38,5 +38,19 @@ module CustomEmails
38
38
  assert subject.kind_of?(Mail::Message)
39
39
  assert subject.deliver
40
40
  end
41
+
42
+ test "email has interpolation via liquid on subject, content_text and content_html" do
43
+ CustomEmails.default_from = 'sender@example.org'
44
+
45
+ email = Email.new
46
+ assert email.respond_to?(:interpolated_subject)
47
+ assert email.respond_to?(:interpolated_content_text)
48
+ assert email.respond_to?(:interpolated_content_html)
49
+
50
+ context = {'firstname' => 'Nicolas'}
51
+ email.subject = 'Hello {{ firstname }}!'
52
+
53
+ assert email.interpolated_subject(context) == 'Hello Nicolas!'
54
+ end
41
55
  end
42
56
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_emails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: 4.0.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: liquid
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 2.5.3
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.5.3
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: sqlite3
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -143,7 +159,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
159
  version: '0'
144
160
  segments:
145
161
  - 0
146
- hash: -896741769331279035
162
+ hash: 100802680174598186
147
163
  required_rubygems_version: !ruby/object:Gem::Requirement
148
164
  none: false
149
165
  requirements:
@@ -152,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
168
  version: '0'
153
169
  segments:
154
170
  - 0
155
- hash: -896741769331279035
171
+ hash: 100802680174598186
156
172
  requirements: []
157
173
  rubyforge_project:
158
174
  rubygems_version: 1.8.23