postmark 1.4.0 → 1.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 923bce8373580308c169aa8e11f9f284366f03c6
4
- data.tar.gz: da7597f415f0875cdc6f25f9466fd986b4e1893f
5
- SHA512:
6
- metadata.gz: 2b883d6b1fd1e6afa8d80de6383b9756677fc9757a1ee14547bb193f9d1df27940d2d451ff534ffa83cc91cbd46fc37f1ab5f4abae25bc2256d7829dabd8f5a2
7
- data.tar.gz: 7dbd50bc42683980f83befda6d7e91cc040676ed6ffe1e3ce4435e513cc192cf1621370c7d77c1ac04f2b5b31b97167b9fc30a76279f0e8142cdfa3292b76a35
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 73d01dca4a5c8f9829f1ca039ae3f21c6f8f4e9e
4
+ data.tar.gz: cdfd6f7286b9a054183fe60701b70cc9e8f1ad9e
5
+ SHA512:
6
+ metadata.gz: a464977cf081ee97a239ff633d40d95f7685536a6b224adc3e1f55023d709a562da06009a91f4206d7e4cdb672903df74af1b4c86f95992e6dca63b7395c3973
7
+ data.tar.gz: 544a52694c765a7e2f91456864b26307c2ed968d775e96f5e211fa7b6fc653cf6ad62302b114cde057004ce9931dee9484f2a4f83bdfa14e893ea82a9d669243
@@ -1,5 +1,9 @@
1
1
  = Changelog
2
2
 
3
+ == 1.4.1
4
+
5
+ * Fix an exception when sending a Mail::Message containing quoted-printable parts with unicode characters.
6
+
3
7
  == 1.4.0
4
8
 
5
9
  * Add descriptive User-Agent string.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.0
1
+ 1.4.1
@@ -45,17 +45,17 @@ module Mail
45
45
 
46
46
  def body_html
47
47
  if html_part.nil?
48
- body.to_s if html?
48
+ decoded if html?
49
49
  else
50
- html_part.body.to_s
50
+ html_part.decoded
51
51
  end
52
52
  end
53
53
 
54
54
  def body_text
55
55
  if text_part.nil?
56
- body.to_s unless html?
56
+ decoded unless html?
57
57
  else
58
- text_part.body.to_s
58
+ text_part.decoded
59
59
  end
60
60
  end
61
61
 
@@ -1,3 +1,3 @@
1
1
  module Postmark
2
- VERSION = '1.4.0'
2
+ VERSION = '1.4.1'
3
3
  end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Postmark::MailMessageConverter do
@@ -87,6 +88,36 @@ describe Postmark::MailMessageConverter do
87
88
  end
88
89
  end
89
90
 
91
+ let(:mail_message_quoted_printable) do
92
+ Mail.new do
93
+ from "Sheldon <sheldon@bigbangtheory.com>"
94
+ to "\"Leonard Hofstadter\" <leonard@bigbangtheory.com>"
95
+ subject "Hello!"
96
+ content_type 'text/plain; charset=utf-8'
97
+ content_transfer_encoding 'quoted-printable'
98
+ body 'Он здесь бывал: еще не в галифе.'
99
+ reply_to '"Penny The Neighbor" <penny@bigbangtheory.com>'
100
+ end
101
+ end
102
+
103
+ let(:multipart_message_quoted_printable) do
104
+ Mail.new do
105
+ from "sheldon@bigbangtheory.com"
106
+ to "lenard@bigbangtheory.com"
107
+ subject "Hello!"
108
+ text_part do
109
+ content_type 'text/plain; charset=utf-8'
110
+ content_transfer_encoding 'quoted-printable'
111
+ body 'Загадочное послание.'
112
+ end
113
+ html_part do
114
+ content_type 'text/html; charset=utf-8'
115
+ content_transfer_encoding 'quoted-printable'
116
+ body '<b>Загадочное послание.</b>'
117
+ end
118
+ end
119
+ end
120
+
90
121
  it 'converts plain text messages correctly' do
91
122
  subject.new(mail_message).run.should == {
92
123
  "From" => "sheldon@bigbangtheory.com",
@@ -165,6 +196,17 @@ describe Postmark::MailMessageConverter do
165
196
  "TrackOpens" => true}
166
197
  end
167
198
 
199
+ it 'correctly decodes unicode in messages transfered as quoted-printable' do
200
+ subject.new(mail_message_quoted_printable).run.should \
201
+ include('TextBody' => 'Он здесь бывал: еще не в галифе.')
202
+ end
203
+
204
+ it 'correctly decodes unicode in multipart quoted-printable messages' do
205
+ subject.new(multipart_message_quoted_printable).run.should \
206
+ include('TextBody' => 'Загадочное послание.',
207
+ 'HtmlBody' => '<b>Загадочное послание.</b>')
208
+ end
209
+
168
210
  context 'when bcc is empty' do
169
211
  it 'excludes bcc from message' do
170
212
  mail_message.bcc = nil
metadata CHANGED
@@ -1,78 +1,101 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: postmark
3
- version: !ruby/object:Gem::Version
4
- version: 1.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.1
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Petyo Ivanov
8
8
  - Ilya Sabanin
9
9
  - Artem Chistyakov
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2014-12-02 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
13
+ date: 2014-12-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: rake
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
20
- requirements:
21
- - &id002
22
- - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
25
- version_requirements: *id001
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
26
22
  type: :runtime
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
23
  prerelease: false
30
- requirement: &id003 !ruby/object:Gem::Requirement
31
- requirements:
32
- - *id002
33
- version_requirements: *id003
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: json
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
34
36
  type: :runtime
35
- - !ruby/object:Gem::Dependency
36
- name: mail
37
37
  prerelease: false
38
- requirement: &id004 !ruby/object:Gem::Requirement
39
- requirements:
40
- - *id002
41
- version_requirements: *id004
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: mail
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
42
50
  type: :development
43
- - !ruby/object:Gem::Dependency
44
- name: activesupport
45
51
  prerelease: false
46
- requirement: &id005 !ruby/object:Gem::Requirement
47
- requirements:
48
- - - ~>
49
- - !ruby/object:Gem::Version
50
- version: "3.0"
51
- version_requirements: *id005
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: activesupport
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.0'
52
64
  type: :development
53
- - !ruby/object:Gem::Dependency
54
- name: yajl-ruby
55
65
  prerelease: false
56
- requirement: &id006 !ruby/object:Gem::Requirement
57
- requirements:
58
- - *id002
59
- version_requirements: *id006
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '3.0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: yajl-ruby
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
60
78
  type: :development
61
- description: Use this gem to send emails through Postmark HTTP API and retrieve info about bounces.
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ description: Use this gem to send emails through Postmark HTTP API and retrieve info
86
+ about bounces.
62
87
  email: ilya@wildbit.com
63
88
  executables: []
64
-
65
89
  extensions: []
66
-
67
- extra_rdoc_files:
90
+ extra_rdoc_files:
68
91
  - LICENSE
69
92
  - README.md
70
- files:
71
- - .document
72
- - .gitignore
73
- - .rake_tasks
74
- - .rspec
75
- - .travis.yml
93
+ files:
94
+ - ".document"
95
+ - ".gitignore"
96
+ - ".rake_tasks"
97
+ - ".rspec"
98
+ - ".travis.yml"
76
99
  - CHANGELOG.rdoc
77
100
  - Gemfile
78
101
  - LICENSE
@@ -123,31 +146,34 @@ files:
123
146
  - spec/unit/postmark/message_extensions/mail_spec.rb
124
147
  - spec/unit/postmark_spec.rb
125
148
  homepage: http://postmarkapp.com
126
- licenses:
149
+ licenses:
127
150
  - MIT
128
151
  metadata: {}
129
-
130
- post_install_message: "\n ==================\n Thanks for installing the postmark gem. If you don't have an account, please\n sign up at http://postmarkapp.com/.\n\n Review the README.md for implementation details and examples.\n ==================\n "
131
- rdoc_options:
132
- - --charset=UTF-8
133
- require_paths:
152
+ post_install_message: "\n ==================\n Thanks for installing the postmark
153
+ gem. If you don't have an account, please\n sign up at http://postmarkapp.com/.\n\n
154
+ \ Review the README.md for implementation details and examples.\n ==================\n
155
+ \ "
156
+ rdoc_options:
157
+ - "--charset=UTF-8"
158
+ require_paths:
134
159
  - lib
135
- required_ruby_version: !ruby/object:Gem::Requirement
136
- requirements:
137
- - *id002
138
- required_rubygems_version: !ruby/object:Gem::Requirement
139
- requirements:
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
140
167
  - - ">="
141
- - !ruby/object:Gem::Version
168
+ - !ruby/object:Gem::Version
142
169
  version: 1.3.7
143
170
  requirements: []
144
-
145
171
  rubyforge_project:
146
- rubygems_version: 2.0.14
172
+ rubygems_version: 2.2.1
147
173
  signing_key:
148
174
  specification_version: 4
149
175
  summary: Official Postmark API wrapper.
150
- test_files:
176
+ test_files:
151
177
  - spec/data/empty.gif
152
178
  - spec/integration/account_api_client_spec.rb
153
179
  - spec/integration/api_client_hashes_spec.rb