simple_postmark 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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
+