padrino-mailer 0.16.0.pre4 → 0.16.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.
@@ -1,5 +1,5 @@
1
1
  ENV['RACK_ENV'] = 'test'
2
- PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
2
+ PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
3
3
 
4
4
  class PadrinoApp < Padrino::Application
5
5
  register Padrino::Helpers
@@ -9,65 +9,65 @@ class PadrinoApp < Padrino::Application
9
9
 
10
10
  mailer :sample do
11
11
  email :birthday do |name, age|
12
- subject "Happy Birthday!"
12
+ subject 'Happy Birthday!'
13
13
  to 'john@fake.com'
14
14
  from 'noreply@birthday.com'
15
- locals :name => name, :age => age
15
+ locals name: name, age: age
16
16
  via :test
17
17
  render 'sample/birthday'
18
18
  end
19
19
 
20
20
  email :anniversary do |names, years_married|
21
- subject "Happy anniversary!"
22
- to 'julie@fake.com'
23
- from 'noreply@anniversary.com'
21
+ subject 'Happy anniversary!'
22
+ to 'julie@fake.com'
23
+ from 'noreply@anniversary.com'
24
24
  content_type :html
25
- via :test
26
- locals :names => names, :years_married => years_married
27
- render 'sample/anniversary'
25
+ via :test
26
+ locals names: names, years_married: years_married
27
+ render 'sample/anniversary'
28
28
  end
29
29
 
30
30
  message :welcome do |name|
31
- subject "Welcome Message!"
31
+ subject 'Welcome Message!'
32
32
  to 'john@fake.com'
33
33
  from 'noreply@custom.com'
34
- locals :name => name
34
+ locals name: name
35
35
  via :test
36
36
  render 'sample/foo_message'
37
37
  end
38
38
 
39
39
  message :helper do |name|
40
- subject "Welcome Helper!"
40
+ subject 'Welcome Helper!'
41
41
  to 'jim@fake.com'
42
42
  from 'noreply@custom.com'
43
- locals :name => name
43
+ locals name: name
44
44
  via :test
45
45
  render 'sample/helper_message'
46
46
  end
47
47
 
48
48
  message :default_mailer_name do |name|
49
- subject "Welcome Helper!"
49
+ subject 'Welcome Helper!'
50
50
  to 'jim@fake.com'
51
51
  from 'noreply@custom.com'
52
- locals :name => name
52
+ locals name: name
53
53
  via :test
54
54
  render 'default_mailer_name'
55
55
  end
56
56
 
57
57
  message :default_mailer_email_name do |name|
58
- subject "Welcome Helper!"
58
+ subject 'Welcome Helper!'
59
59
  to 'jim@fake.com'
60
60
  from 'noreply@custom.com'
61
- locals :name => name
61
+ locals name: name
62
62
  via :test
63
63
  render
64
64
  end
65
65
 
66
66
  message :external do |name|
67
- subject "Welcome Message!"
67
+ subject 'Welcome Message!'
68
68
  to 'john@fake.com'
69
69
  from 'noreply@custom.com'
70
- locals :name => name
70
+ locals name: name
71
71
  via :test
72
72
  render 'demo/sample_mail'
73
73
  end
@@ -76,54 +76,54 @@ class PadrinoApp < Padrino::Application
76
76
  mailer :nonexistant do
77
77
  end
78
78
 
79
- post "/deliver/inline" do
80
- result = email(:to => "john@apple.com", :from => "joe@smith.com", :subject => "Test Email", :body => "Test Body", :via => :test)
81
- result ? "mail delivered" : 'mail not delivered'
79
+ post '/deliver/inline' do
80
+ result = email(to: 'john@apple.com', from: 'joe@smith.com', subject: 'Test Email', body: 'Test Body', via: :test)
81
+ result ? 'mail delivered' : 'mail not delivered'
82
82
  end
83
83
 
84
- post "/deliver/plain" do
85
- result = deliver(:sample, :birthday, "Joey", 21)
86
- result ? "mail delivered" : 'mail not delivered'
84
+ post '/deliver/plain' do
85
+ result = deliver(:sample, :birthday, 'Joey', 21)
86
+ result ? 'mail delivered' : 'mail not delivered'
87
87
  end
88
88
 
89
- post "/deliver/html" do
90
- result = deliver(:sample, :anniversary, "Joey & Charlotte", 16)
91
- result ? "mail delivered" : 'mail not delivered'
89
+ post '/deliver/html' do
90
+ result = deliver(:sample, :anniversary, 'Joey & Charlotte', 16)
91
+ result ? 'mail delivered' : 'mail not delivered'
92
92
  end
93
93
 
94
- post "/deliver/custom" do
95
- result = deliver(:sample, :welcome, "Bobby")
96
- result ? "mail delivered" : 'mail not delivered'
94
+ post '/deliver/custom' do
95
+ result = deliver(:sample, :welcome, 'Bobby')
96
+ result ? 'mail delivered' : 'mail not delivered'
97
97
  end
98
98
 
99
- post "/deliver/helper" do
100
- result = deliver(:sample, :helper, "Jim")
101
- result ? "mail delivered" : 'mail not delivered'
99
+ post '/deliver/helper' do
100
+ result = deliver(:sample, :helper, 'Jim')
101
+ result ? 'mail delivered' : 'mail not delivered'
102
102
  end
103
103
 
104
- post "/deliver/failing_mailer" do
105
- deliver(:nonregistered, :mailer, "hey")
104
+ post '/deliver/failing_mailer' do
105
+ deliver(:nonregistered, :mailer, 'hey')
106
106
  end
107
107
 
108
- post "/deliver/failing_message" do
109
- deliver(:nonexistant, :message, "hey")
108
+ post '/deliver/failing_message' do
109
+ deliver(:nonexistant, :message, 'hey')
110
110
  end
111
111
 
112
- post "/deliver/default_mailer_name" do
113
- result = deliver(:sample, :default_mailer_name, "Jim")
114
- result ? "mail delivered" : 'mail not delivered'
112
+ post '/deliver/default_mailer_name' do
113
+ result = deliver(:sample, :default_mailer_name, 'Jim')
114
+ result ? 'mail delivered' : 'mail not delivered'
115
115
  end
116
116
 
117
- post "/deliver/default_mailer_email_name" do
118
- result = deliver(:sample, :default_mailer_email_name, "Jim")
119
- result ? "mail delivered" : 'mail not delivered'
117
+ post '/deliver/default_mailer_email_name' do
118
+ result = deliver(:sample, :default_mailer_email_name, 'Jim')
119
+ result ? 'mail delivered' : 'mail not delivered'
120
120
  end
121
121
 
122
- post "/deliver/external" do
123
- result = deliver(:sample, :external, "Joey")
124
- result ? "mail delivered" : 'mail not delivered'
122
+ post '/deliver/external' do
123
+ result = deliver(:sample, :external, 'Joey')
124
+ result ? 'mail delivered' : 'mail not delivered'
125
125
  end
126
126
  end
127
127
 
128
- Padrino.mount("PadrinoApp").to("/")
128
+ Padrino.mount('PadrinoApp').to('/')
129
129
  Padrino.load!
@@ -3,56 +3,56 @@ require 'sinatra/base'
3
3
  class SinatraApp < Sinatra::Base
4
4
  register Padrino::Mailer
5
5
 
6
- set :root, File.dirname(__FILE__)
6
+ set :root, __dir__
7
7
  set :delivery_method, :test
8
8
 
9
9
  mailer :sample do
10
10
  email :birthday do |name, age|
11
- subject "Happy Birthday!"
11
+ subject 'Happy Birthday!'
12
12
  to 'john@fake.com'
13
13
  from 'noreply@birthday.com'
14
- locals :name => name, :age => age
14
+ locals name: name, age: age
15
15
  via :test
16
16
  render 'sample/birthday'
17
17
  end
18
18
 
19
19
  email :anniversary do |names, years_married|
20
- subject "Happy anniversary!"
21
- to 'julie@fake.com'
22
- from 'noreply@anniversary.com'
23
- locals :names => names, :years_married => years_married
20
+ subject 'Happy anniversary!'
21
+ to 'julie@fake.com'
22
+ from 'noreply@anniversary.com'
23
+ locals names: names, years_married: years_married
24
24
  content_type :html
25
- via :test
26
- render 'sample/anniversary'
25
+ via :test
26
+ render 'sample/anniversary'
27
27
  end
28
28
 
29
29
  message :welcome do |name|
30
- subject "Welcome Message!"
30
+ subject 'Welcome Message!'
31
31
  to 'john@fake.com'
32
32
  from 'noreply@custom.com'
33
- locals :name => name
33
+ locals name: name
34
34
  via :test
35
35
  render 'sample/foo_message'
36
36
  end
37
37
  end
38
38
 
39
- post "/deliver/inline" do
40
- result = email(:to => "john@apple.com", :from => "joe@smith.com", :subject => "Test Email", :body => "Test Body", :via => :test)
41
- result ? "mail delivered" : 'mail not delivered'
39
+ post '/deliver/inline' do
40
+ result = email(to: 'john@apple.com', from: 'joe@smith.com', subject: 'Test Email', body: 'Test Body', via: :test)
41
+ result ? 'mail delivered' : 'mail not delivered'
42
42
  end
43
43
 
44
- post "/deliver/plain" do
45
- result = deliver(:sample, :birthday, "Joey", 21)
46
- result ? "mail delivered" : 'mail not delivered'
44
+ post '/deliver/plain' do
45
+ result = deliver(:sample, :birthday, 'Joey', 21)
46
+ result ? 'mail delivered' : 'mail not delivered'
47
47
  end
48
48
 
49
- post "/deliver/html" do
50
- result = deliver(:sample, :anniversary, "Joey & Charlotte", 16)
51
- result ? "mail delivered" : 'mail not delivered'
49
+ post '/deliver/html' do
50
+ result = deliver(:sample, :anniversary, 'Joey & Charlotte', 16)
51
+ result ? 'mail delivered' : 'mail not delivered'
52
52
  end
53
53
 
54
- post "/deliver/custom" do
55
- result = deliver(:sample, :welcome, "Bobby")
56
- result ? "mail delivered" : 'mail not delivered'
54
+ post '/deliver/custom' do
55
+ result = deliver(:sample, :welcome, 'Bobby')
56
+ result ? 'mail delivered' : 'mail not delivered'
57
57
  end
58
58
  end
data/test/helper.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  ENV['RACK_ENV'] = 'test'
2
- PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
2
+ PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
3
3
 
4
4
  require 'minitest/autorun'
5
5
  require 'minitest/pride'
@@ -18,7 +18,7 @@ class Minitest::Spec
18
18
  # Sets up a Sinatra::Base subclass defined with the block
19
19
  # given. Used in setup or individual spec methods to establish
20
20
  # the application.
21
- def mock_app(base=Padrino::Application, &block)
21
+ def mock_app(base = Padrino::Application, &block)
22
22
  @app = Sinatra.new(base, &block)
23
23
  end
24
24
 
@@ -31,11 +31,11 @@ class Minitest::Spec
31
31
  end
32
32
 
33
33
  # Asserts that the specified email object was delivered
34
- def assert_email_sent(mail_attributes, options={})
34
+ def assert_email_sent(mail_attributes, options = {})
35
35
  mail_message = Mail::TestMailer.deliveries.last
36
- raise "No mail message has been sent!" unless mail_message
36
+ raise 'No mail message has been sent!' unless mail_message
37
37
  delivery_attributes = mail_attributes
38
- delivery_attributes.update(:to => Array(mail_attributes[:to]), :from => Array(mail_attributes[:from]))
38
+ delivery_attributes.update(to: Array(mail_attributes[:to]), from: Array(mail_attributes[:from]))
39
39
  delivery_attributes.each_pair do |key, expected|
40
40
  next unless mail_message.respond_to?(key)
41
41
  actual = mail_message.send(key)
data/test/test_email.rb CHANGED
@@ -1,11 +1,11 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
1
+ require_relative 'helper'
2
2
 
3
- describe "Email" do
3
+ describe 'Email' do
4
4
  describe 'the mailer in an app' do
5
5
  it 'should send a basic inline email' do
6
6
  mock_app do
7
7
  register Padrino::Mailer
8
- get "/" do
8
+ get '/' do
9
9
  email do
10
10
  from 'padrino@me.com'
11
11
  to 'padrino@you.com'
@@ -15,7 +15,7 @@ describe "Email" do
15
15
  end
16
16
  end
17
17
  end
18
- get "/"
18
+ get '/'
19
19
  assert ok?
20
20
  email = pop_last_delivery
21
21
  assert_equal ['padrino@me.com'], email.from
@@ -27,17 +27,17 @@ describe "Email" do
27
27
  it 'should send a basic inline from hash' do
28
28
  mock_app do
29
29
  register Padrino::Mailer
30
- get "/" do
31
- email({
32
- :from => 'padrino@me.com',
33
- :to => 'padrino@you.com',
34
- :subject => 'Hello there Padrino',
35
- :body => 'Body',
36
- :via => :test
37
- })
30
+ get '/' do
31
+ email(
32
+ from: 'padrino@me.com',
33
+ to: 'padrino@you.com',
34
+ subject: 'Hello there Padrino',
35
+ body: 'Body',
36
+ via: :test
37
+ )
38
38
  end
39
39
  end
40
- get "/"
40
+ get '/'
41
41
  assert ok?
42
42
  email = pop_last_delivery
43
43
  assert_equal ['padrino@me.com'], email.from
@@ -49,9 +49,9 @@ describe "Email" do
49
49
  it 'should send an basic email with body template' do
50
50
  mock_app do
51
51
  register Padrino::Mailer
52
- get "/" do
52
+ get '/' do
53
53
  email do
54
- views File.dirname(__FILE__) + '/fixtures'
54
+ views "#{__dir__}/fixtures"
55
55
  from 'padrino@me.com'
56
56
  to 'padrino@you.com'
57
57
  subject 'Hello there Padrino'
@@ -60,7 +60,7 @@ describe "Email" do
60
60
  end
61
61
  end
62
62
  end
63
- get "/"
63
+ get '/'
64
64
  assert ok?
65
65
  email = pop_last_delivery
66
66
  assert_equal ['padrino@me.com'], email.from
@@ -72,10 +72,10 @@ describe "Email" do
72
72
  it 'should send emails with scoped mailer defaults' do
73
73
  mock_app do
74
74
  register Padrino::Mailer
75
- set :views, File.dirname(__FILE__) + '/fixtures/views'
75
+ set :views, "#{__dir__}/fixtures/views"
76
76
  set :delivery_method, :test
77
77
  mailer :alternate do
78
- defaults :from => 'padrino@from.com', :to => 'padrino@to.com'
78
+ defaults from: 'padrino@from.com', to: 'padrino@to.com'
79
79
  email :foo do
80
80
  to 'padrino@different.com'
81
81
  subject 'Hello there again Padrino'
@@ -83,13 +83,14 @@ describe "Email" do
83
83
  render 'alternate/foo'
84
84
  end
85
85
  end
86
- get("/") { deliver(:alternate, :foo) }
86
+ get('/') { deliver(:alternate, :foo) }
87
87
  end
88
- get "/"
88
+
89
+ get '/'
89
90
  assert ok?
90
91
  email = pop_last_delivery
91
- assert_equal ['padrino@from.com'], email.from, "should have used default value"
92
- assert_equal ['padrino@different.com'], email.to, "should have overwritten default value"
92
+ assert_equal ['padrino@from.com'], email.from, 'should have used default value'
93
+ assert_equal ['padrino@different.com'], email.to, 'should have overwritten default value'
93
94
  assert_equal 'Hello there again Padrino', email.subject
94
95
  assert_equal 'This is a foo message in mailers/alternate dir', email.body.to_s.chomp
95
96
  end
@@ -98,8 +99,8 @@ describe "Email" do
98
99
  mock_app do
99
100
  register Padrino::Mailer
100
101
  set :delivery_method, :test
101
- set :views, File.dirname(__FILE__) + '/fixtures/views'
102
- set :mailer_defaults, :from => 'padrino@from.com', :to => 'padrino@to.com', :subject => "This is a test"
102
+ set :views, "#{__dir__}/fixtures/views"
103
+ set :mailer_defaults, from: 'padrino@from.com', to: 'padrino@to.com', subject: 'This is a test'
103
104
  mailer :alternate do
104
105
  email :foo do
105
106
  to 'padrino@different.com'
@@ -107,13 +108,14 @@ describe "Email" do
107
108
  render 'alternate/foo'
108
109
  end
109
110
  end
110
- get("/") { deliver(:alternate, :foo) }
111
+ get('/') { deliver(:alternate, :foo) }
111
112
  end
112
- get "/"
113
+
114
+ get '/'
113
115
  assert ok?
114
116
  email = pop_last_delivery
115
- assert_equal ['padrino@from.com'], email.from, "should have used default value"
116
- assert_equal ['padrino@different.com'], email.to, "should have overwritten default value"
117
+ assert_equal ['padrino@from.com'], email.from, 'should have used default value'
118
+ assert_equal ['padrino@different.com'], email.to, 'should have overwritten default value'
117
119
  assert_equal 'This is a test', email.subject
118
120
  assert_equal 'This is a foo message in mailers/alternate dir', email.body.to_s.chomp
119
121
  end
@@ -121,7 +123,7 @@ describe "Email" do
121
123
  it 'should send emails without layout' do
122
124
  mock_app do
123
125
  register Padrino::Mailer
124
- set :views, File.dirname(__FILE__) + '/fixtures/views'
126
+ set :views, "#{__dir__}/fixtures/views"
125
127
  set :delivery_method, :test
126
128
  mailer :alternate do
127
129
  email :foo do
@@ -132,16 +134,16 @@ describe "Email" do
132
134
  render 'alternate/foo'
133
135
  end
134
136
  end
135
- get("/") { deliver(:alternate, :foo) }
137
+ get('/') { deliver(:alternate, :foo) }
136
138
  end
137
- get "/"
139
+ get '/'
138
140
  assert ok?
139
141
  email = pop_last_delivery
140
142
  assert_equal ['padrino@me.com'], email.from
141
143
  assert_equal ['padrino@you.com'], email.to
142
144
  assert_equal 'Hello there Padrino', email.subject
143
145
  assert_equal 'This is a foo message in mailers/alternate dir', email.body.to_s.chomp
144
- assert_match /TestMailer/, email.delivery_method.to_s
146
+ assert_match(/TestMailer/, email.delivery_method.to_s)
145
147
  end
146
148
 
147
149
  it 'should raise an error if there are two messages with the same name' do
data/test/test_message.rb CHANGED
@@ -1,6 +1,6 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
1
+ require_relative 'helper'
2
2
 
3
- describe "Message" do
3
+ describe 'Message' do
4
4
  describe 'the message' do
5
5
  it 'should accept headers and body' do
6
6
  message = Mail::Message.new do
@@ -32,8 +32,8 @@ describe "Message" do
32
32
  from 'padrino@me.com'
33
33
  to 'padrino@you.com'
34
34
  subject 'Hello there Padrino'
35
- locals :foo => "Im Foo!"
36
- body erb("<%= foo %>")
35
+ locals foo: 'Im Foo!'
36
+ body erb('<%= foo %>')
37
37
  end
38
38
 
39
39
  assert_equal ['padrino@me.com'], message.from
@@ -44,7 +44,7 @@ describe "Message" do
44
44
 
45
45
  it 'should use views paths' do
46
46
  message = Mail::Message.new do
47
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
47
+ views "#{__dir__}/fixtures/views/mailers"
48
48
  from 'padrino@me.com'
49
49
  to 'padrino@you.com'
50
50
  subject 'Hello there Padrino'
@@ -59,7 +59,7 @@ describe "Message" do
59
59
 
60
60
  it 'should use views and mailers paths' do
61
61
  message = Mail::Message.new do
62
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
62
+ views "#{__dir__}/fixtures/views/mailers"
63
63
  from 'padrino@me.com'
64
64
  to 'padrino@you.com'
65
65
  subject 'Hello there Padrino'
@@ -74,11 +74,11 @@ describe "Message" do
74
74
 
75
75
  it 'should use layouts' do
76
76
  message = Mail::Message.new do
77
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
77
+ views "#{__dir__}/fixtures/views/mailers"
78
78
  from 'padrino@me.com'
79
79
  to 'padrino@you.com'
80
80
  subject 'Hello there Padrino'
81
- render 'sample/foo', :layout => :"layouts/sample"
81
+ render 'sample/foo', layout: :"layouts/sample"
82
82
  end
83
83
 
84
84
  assert_equal ['padrino@me.com'], message.from
@@ -91,7 +91,7 @@ describe "Message" do
91
91
  I18n.locale = :en
92
92
 
93
93
  message = Mail::Message.new do
94
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
94
+ views "#{__dir__}/fixtures/views/mailers"
95
95
  from 'padrino@me.com'
96
96
  to 'padrino@you.com'
97
97
  subject 'Hello there Padrino'
@@ -106,7 +106,7 @@ describe "Message" do
106
106
  I18n.locale = :it
107
107
 
108
108
  message = Mail::Message.new do
109
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
109
+ views "#{__dir__}/fixtures/views/mailers"
110
110
  from 'padrino@me.com'
111
111
  to 'padrino@you.com'
112
112
  subject 'Hello there Padrino'
@@ -121,7 +121,7 @@ describe "Message" do
121
121
 
122
122
  it 'should auto lookup template for the given content_type' do
123
123
  message = Mail::Message.new do
124
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
124
+ views "#{__dir__}/fixtures/views/mailers"
125
125
  from 'padrino@me.com'
126
126
  to 'padrino@you.com'
127
127
  subject 'Hello there Padrino'
@@ -129,15 +129,15 @@ describe "Message" do
129
129
  render 'multipart/basic'
130
130
  end
131
131
 
132
+ message.encoded
132
133
  assert_equal ['padrino@me.com'], message.from
133
134
  assert_equal ['padrino@you.com'], message.to
134
135
  assert_equal 'Hello there Padrino', message.subject
135
136
  assert_equal 'text html', message.body.to_s.chomp
136
- message.encoded
137
137
  assert_equal :html, message.content_type
138
138
 
139
139
  message = Mail::Message.new do
140
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
140
+ views "#{__dir__}/fixtures/views/mailers"
141
141
  from 'padrino@me.com'
142
142
  to 'padrino@you.com'
143
143
  subject 'Hello there Padrino'
@@ -145,22 +145,22 @@ describe "Message" do
145
145
  render 'multipart/basic'
146
146
  end
147
147
 
148
+ message.encoded
148
149
  assert_equal ['padrino@me.com'], message.from
149
150
  assert_equal ['padrino@you.com'], message.to
150
151
  assert_equal 'Hello there Padrino', message.subject
151
152
  assert_equal 'plain text', message.body.to_s.chomp
152
- message.encoded
153
153
  assert_equal :plain, message.content_type
154
154
  end
155
155
 
156
156
  it 'should render partials' do
157
- objects = [1,2,'<evil>','<good>'.html_safe]
157
+ objects = [1, 2, '<evil>', '<good>'.html_safe]
158
158
  message = Mail::Message.new do
159
159
  from 'padrino@me.com'
160
160
  to 'padrino@you.com'
161
161
  subject 'Hello there Padrino'
162
- views File.dirname(__FILE__) + '/fixtures/views/mailers'
163
- partial 'partial/object', :collection => objects
162
+ views "#{__dir__}/fixtures/views/mailers"
163
+ partial 'partial/object', collection: objects
164
164
  end
165
165
 
166
166
  assert_equal "Object 1<br>\nObject 2<br>\nObject &lt;evil&gt;<br>\nObject <good><br>", message.body.to_s.chomp