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 CHANGED
@@ -1,4 +1,4 @@
1
- # simple_postmark [![Build Status](https://secure.travis-ci.org/haihappen/simple_postmark.png)](http://travis-ci.org/haihappen/simple_postmark)
1
+ # simple_postmark [![Build Status](https://secure.travis-ci.org/haihappen/simple_postmark.png?branch=master)](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.
@@ -8,7 +8,6 @@ gem 'mail'
8
8
 
9
9
  group :development do
10
10
  gem 'minitest'
11
- gem 'purdytest'
12
11
  gem 'rails', github: 'rails/rails'
13
12
  gem 'webmock'
14
13
  end
@@ -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
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = 'simple_postmark'
3
- gem.version = '0.4.2'
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
@@ -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
- end if ENV['SIMPLE_POSTMARK_INTEGRATION_SPEC']
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']
@@ -1,7 +1,7 @@
1
1
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
 
3
3
  require 'minitest/autorun'
4
+ require 'minitest/pride'
4
5
  require 'minitest/spec'
5
- require 'purdytest'
6
6
  require 'simple_postmark'
7
7
  require 'webmock/minitest'
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
- version: 0.4.2
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
- date: 2012-04-28 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
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
- requirement: &70104640539960 !ruby/object:Gem::Requirement
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
- version: '3.0'
28
+ - !ruby/object:Gem::Version
29
+ hash: 7
30
+ segments:
31
+ - 3
32
+ - 0
33
+ version: "3.0"
22
34
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70104640539960
25
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
26
37
  name: httparty
27
- requirement: &70104640539460 !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
33
48
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70104640539460
36
- - !ruby/object:Gem::Dependency
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
37
51
  name: json
38
- requirement: &70104640538860 !ruby/object:Gem::Requirement
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
39
54
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
44
62
  type: :runtime
45
- prerelease: false
46
- version_requirements: *70104640538860
47
- - !ruby/object:Gem::Dependency
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
48
65
  name: mail
49
- requirement: &70104640538360 !ruby/object:Gem::Requirement
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
50
68
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
55
76
  type: :runtime
56
- prerelease: false
57
- version_requirements: *70104640538360
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
- version_requirements: *70104640537860
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
- version: '0'
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
77
90
  type: :development
78
- prerelease: false
79
- version_requirements: *70104640537320
80
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
81
93
  name: rails
82
- requirement: &70104640536700 !ruby/object:Gem::Requirement
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
- version: '3.0'
99
+ - !ruby/object:Gem::Version
100
+ hash: 7
101
+ segments:
102
+ - 3
103
+ - 0
104
+ version: "3.0"
88
105
  type: :development
89
- prerelease: false
90
- version_requirements: *70104640536700
91
- - !ruby/object:Gem::Dependency
106
+ version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
92
108
  name: webmock
93
- requirement: &70104640552580 !ruby/object:Gem::Requirement
109
+ prerelease: false
110
+ requirement: &id007 !ruby/object:Gem::Requirement
94
111
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
99
119
  type: :development
100
- prerelease: false
101
- version_requirements: *70104640552580
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
- files:
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
- require_paths:
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
- version: '0'
145
- required_rubygems_version: !ruby/object:Gem::Requirement
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
- version: '0'
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.8.11
184
+ rubygems_version: 1.6.2
154
185
  signing_key:
155
186
  specification_version: 3
156
- summary: A simple way to use Postmark with your Rails app.
187
+ summary: "A simple way to use Postmark\xE2\x84\xA2 with your Rails app."
157
188
  test_files: []
189
+