postmark 1.4.0 → 1.4.1

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