simple_postmark 0.4.2 → 0.4.3
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.
- data/README.md +1 -1
- data/gemfiles/Rails_master.gemfile +0 -1
- data/lib/simple_postmark/delivery_method.rb +3 -2
- data/simple_postmark.gemspec +1 -2
- data/spec/integration_spec.rb +36 -2
- data/spec/spec_helper.rb +1 -1
- metadata +118 -86
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# simple_postmark [](http://travis-ci.org/haihappen/simple_postmark)
|
1
|
+
# simple_postmark [](http://travis-ci.org/haihappen/simple_postmark)
|
2
2
|
|
3
3
|
SimplePostmark makes it easy to send mails via [Postmark](http://postmarkapp.com)™ using Rails 3's ActionMailer.
|
4
4
|
SimplePostmark is inspired by [postmark-gem](https://github.com/wildbit/postmark-gem), but unfortunately postmark-gem forced to me to use non-standard Rails calls like `postmark_attachments`. SimplePostmark uses the standard Rails 3's ActionMailer syntax to send your emails via Postmark.
|
@@ -12,9 +12,10 @@ module Mail
|
|
12
12
|
|
13
13
|
def deliver!(mail)
|
14
14
|
api_key = { 'X-Postmark-Server-Token' => settings[:api_key].to_s }
|
15
|
-
|
15
|
+
|
16
16
|
response = self.class.post('/email', headers: self.class.headers.merge(api_key), body: mail.to_postmark.to_json)
|
17
17
|
raise ::SimplePostmark::APIError.new(response) unless response.success?
|
18
|
+
response
|
18
19
|
end
|
19
20
|
end
|
20
|
-
end
|
21
|
+
end
|
data/simple_postmark.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'simple_postmark'
|
3
|
-
gem.version = '0.4.
|
3
|
+
gem.version = '0.4.3'
|
4
4
|
gem.authors = 'Mario Uher'
|
5
5
|
gem.email = 'uher.mario@gmail.com'
|
6
6
|
gem.description = 'SimplePostmark makes it easy to send mails via Postmark™ using Rails 3\'s ActionMailer.'
|
@@ -16,7 +16,6 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.add_dependency 'mail'
|
17
17
|
|
18
18
|
gem.add_development_dependency 'minitest'
|
19
|
-
gem.add_development_dependency 'purdytest'
|
20
19
|
gem.add_development_dependency 'rails', '~> 3.0'
|
21
20
|
gem.add_development_dependency 'webmock'
|
22
21
|
end
|
data/spec/integration_spec.rb
CHANGED
@@ -41,7 +41,7 @@ end
|
|
41
41
|
|
42
42
|
describe 'SimplePostmark integration' do
|
43
43
|
before do
|
44
|
-
ActionMailer::Base.simple_postmark_settings = { api_key: ENV['SIMPLE_POSTMARK_API_KEY'] }
|
44
|
+
ActionMailer::Base.simple_postmark_settings = { api_key: ENV['SIMPLE_POSTMARK_API_KEY'], return_response: true }
|
45
45
|
ActionMailer::Base.raise_delivery_errors = true
|
46
46
|
end
|
47
47
|
|
@@ -64,4 +64,38 @@ describe 'SimplePostmark integration' do
|
|
64
64
|
it 'sends emails with reply-to' do
|
65
65
|
IntegrationMailer.email_with_reply_to.deliver
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
|
+
|
69
|
+
describe 'wrong mail settings' do
|
70
|
+
before do
|
71
|
+
ActionMailer::Base.simple_postmark_settings = { api_key: '********-****-****-****-************' }
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
it 'is silent if raise_delivery_errors is not set' do
|
76
|
+
ActionMailer::Base.raise_delivery_errors = false
|
77
|
+
|
78
|
+
IntegrationMailer.email.deliver
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
it 'raises a SimplePostmark::APIError containing the error from postmarkapp.com if raise_delivery_errors is set' do
|
83
|
+
-> { IntegrationMailer.email.deliver }.must_raise(SimplePostmark::APIError)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
describe 'setting return_response option' do
|
89
|
+
before do
|
90
|
+
ActionMailer::Base.simple_postmark_settings = { api_key: ENV['SIMPLE_POSTMARK_API_KEY'], return_response: true }
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
it 'returns the response from postmarkapp.com' do
|
95
|
+
response = IntegrationMailer.email.deliver!.parsed_response
|
96
|
+
|
97
|
+
response['To'].must_equal(ENV['SIMPLE_POSTMARK_TO'])
|
98
|
+
response['Message'].must_equal('OK')
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end if ENV['SIMPLE_POSTMARK_INTEGRATION_SPEC']
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,111 +1,132 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_postmark
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 3
|
10
|
+
version: 0.4.3
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Mario Uher
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-06-09 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
15
22
|
name: activesupport
|
16
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
25
|
none: false
|
18
|
-
requirements:
|
26
|
+
requirements:
|
19
27
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
version: "3.0"
|
22
34
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
26
37
|
name: httparty
|
27
|
-
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
40
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
33
48
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
37
51
|
name: json
|
38
|
-
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
54
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
version: "0"
|
44
62
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
48
65
|
name: mail
|
49
|
-
|
66
|
+
prerelease: false
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
68
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
75
|
+
version: "0"
|
55
76
|
type: :runtime
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
77
|
+
version_requirements: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
59
79
|
name: minitest
|
60
|
-
requirement: &70104640537860 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
66
|
-
type: :development
|
67
80
|
prerelease: false
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: purdytest
|
71
|
-
requirement: &70104640537320 !ruby/object:Gem::Requirement
|
81
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
72
82
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
hash: 3
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
version: "0"
|
77
90
|
type: :development
|
78
|
-
|
79
|
-
|
80
|
-
- !ruby/object:Gem::Dependency
|
91
|
+
version_requirements: *id005
|
92
|
+
- !ruby/object:Gem::Dependency
|
81
93
|
name: rails
|
82
|
-
|
94
|
+
prerelease: false
|
95
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
83
96
|
none: false
|
84
|
-
requirements:
|
97
|
+
requirements:
|
85
98
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
hash: 7
|
101
|
+
segments:
|
102
|
+
- 3
|
103
|
+
- 0
|
104
|
+
version: "3.0"
|
88
105
|
type: :development
|
89
|
-
|
90
|
-
|
91
|
-
- !ruby/object:Gem::Dependency
|
106
|
+
version_requirements: *id006
|
107
|
+
- !ruby/object:Gem::Dependency
|
92
108
|
name: webmock
|
93
|
-
|
109
|
+
prerelease: false
|
110
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
94
111
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 3
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
version: "0"
|
99
119
|
type: :development
|
100
|
-
|
101
|
-
|
102
|
-
description: SimplePostmark makes it easy to send mails via Postmark™ using Rails
|
103
|
-
3's ActionMailer.
|
120
|
+
version_requirements: *id007
|
121
|
+
description: "SimplePostmark makes it easy to send mails via Postmark\xE2\x84\xA2 using Rails 3's ActionMailer."
|
104
122
|
email: uher.mario@gmail.com
|
105
123
|
executables: []
|
124
|
+
|
106
125
|
extensions: []
|
126
|
+
|
107
127
|
extra_rdoc_files: []
|
108
|
-
|
128
|
+
|
129
|
+
files:
|
109
130
|
- .gitignore
|
110
131
|
- .travis.yml
|
111
132
|
- CHANGELOG.md
|
@@ -130,28 +151,39 @@ files:
|
|
130
151
|
- spec/railtie_spec.rb
|
131
152
|
- spec/spec_helper.rb
|
132
153
|
- spec/thebrocode.jpg
|
154
|
+
has_rdoc: true
|
133
155
|
homepage: http://haihappen.github.com/simple_postmark
|
134
156
|
licenses: []
|
157
|
+
|
135
158
|
post_install_message:
|
136
159
|
rdoc_options: []
|
137
|
-
|
160
|
+
|
161
|
+
require_paths:
|
138
162
|
- lib
|
139
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
140
164
|
none: false
|
141
|
-
requirements:
|
142
|
-
- -
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
|
145
|
-
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
hash: 3
|
169
|
+
segments:
|
170
|
+
- 0
|
171
|
+
version: "0"
|
172
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
173
|
none: false
|
147
|
-
requirements:
|
148
|
-
- -
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
|
174
|
+
requirements:
|
175
|
+
- - ">="
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
hash: 3
|
178
|
+
segments:
|
179
|
+
- 0
|
180
|
+
version: "0"
|
151
181
|
requirements: []
|
182
|
+
|
152
183
|
rubyforge_project:
|
153
|
-
rubygems_version: 1.
|
184
|
+
rubygems_version: 1.6.2
|
154
185
|
signing_key:
|
155
186
|
specification_version: 3
|
156
|
-
summary: A simple way to use Postmark
|
187
|
+
summary: "A simple way to use Postmark\xE2\x84\xA2 with your Rails app."
|
157
188
|
test_files: []
|
189
|
+
|