pony 1.7 → 1.8
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 +4 -4
- data/README.rdoc +19 -0
- data/lib/pony.rb +12 -0
- data/pony.gemspec +1 -1
- data/spec/pony_spec.rb +28 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 306baec4e44b3d4c866118d06d7b6fe47644f1b0
|
4
|
+
data.tar.gz: e7aa58fb5549b1ffc88e5949e035a4f43dbb206f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cba682e447d4636d7b01e6ad25ea1218fc01ec0365051e7690c6572471dddcfaf6337243a0e6afcfb48022993dc95db89d7d6e38c4dc021ff20c26c2c657b98b
|
7
|
+
data.tar.gz: 8e2914fcfd9066c24f520dac70d5ac9ea4b3b7c5a0e2bebdf6e876d577aee41c1ee2bf9eb5cdcfd15c43245415130dd8839d02cd385e4228eb1b90bdd362d97d
|
data/README.rdoc
CHANGED
@@ -81,6 +81,20 @@ Pony allows you to specify custom mail headers
|
|
81
81
|
:headers => { "List-ID" => "...", "X-My-Custom-Header" => "what a cool custom header" }
|
82
82
|
)
|
83
83
|
|
84
|
+
Add additional options for headers in each part of letter (text, html)
|
85
|
+
Pony.mail(
|
86
|
+
:body => 'test',
|
87
|
+
:html_body => 'What do you know, Joe?',
|
88
|
+
:attachments => {"foo.txt" => "content of foo.txt"},
|
89
|
+
:body_part_header => { content_disposition: "inline" }
|
90
|
+
)
|
91
|
+
|
92
|
+
This will add option 'Content-Disposition: inline' for text part header of letter.
|
93
|
+
|
94
|
+
Also you can add additional options for html part of latter, e.g.:
|
95
|
+
:html_body_part_header => { content_disposition: "inline" }
|
96
|
+
|
97
|
+
|
84
98
|
== List Of Options
|
85
99
|
|
86
100
|
Options passed pretty much directly to Mail
|
@@ -96,6 +110,8 @@ Options passed pretty much directly to Mail
|
|
96
110
|
text_part_charset # for multipart messages, set the charset of the text part
|
97
111
|
attachments # see Attachments section above
|
98
112
|
headers # see Custom headers section above
|
113
|
+
body_part_header # see Custom headers section above
|
114
|
+
html_body_part_header # see Custom headers section above
|
99
115
|
message_id
|
100
116
|
sender # Sets "envelope from" (and the Sender header)
|
101
117
|
reply_to
|
@@ -152,6 +168,9 @@ mailing list: ponyrb@googlegroups.com
|
|
152
168
|
|
153
169
|
|
154
170
|
== Releases
|
171
|
+
1.8
|
172
|
+
* Add additional options for headers in each part of letter
|
173
|
+
|
155
174
|
1.7
|
156
175
|
* Better default content_type with attachments
|
157
176
|
|
data/lib/pony.rb
CHANGED
@@ -163,6 +163,8 @@ module Pony
|
|
163
163
|
:text_part_charset,
|
164
164
|
:via,
|
165
165
|
:via_options,
|
166
|
+
:body_part_header,
|
167
|
+
:html_body_part_header
|
166
168
|
]
|
167
169
|
|
168
170
|
options.each do |k, v|
|
@@ -174,6 +176,11 @@ module Pony
|
|
174
176
|
html_part do
|
175
177
|
content_type 'text/html; charset=UTF-8'
|
176
178
|
body options[:html_body]
|
179
|
+
if options[:html_body_part_header] && options[:html_body_part_header].is_a?(Hash)
|
180
|
+
options[:html_body_part_header].each do |k,v|
|
181
|
+
header[k] = v
|
182
|
+
end
|
183
|
+
end
|
177
184
|
end
|
178
185
|
end
|
179
186
|
|
@@ -182,6 +189,11 @@ module Pony
|
|
182
189
|
if options[:body] && (options[:html_body] || options[:attachments])
|
183
190
|
text_part do
|
184
191
|
body options[:body]
|
192
|
+
if options[:body_part_header] && options[:body_part_header].is_a?(Hash)
|
193
|
+
options[:body_part_header].each do |k,v|
|
194
|
+
header[k] = v
|
195
|
+
end
|
196
|
+
end
|
185
197
|
end
|
186
198
|
elsif options[:body]
|
187
199
|
body options[:body]
|
data/pony.gemspec
CHANGED
data/spec/pony_spec.rb
CHANGED
@@ -243,4 +243,32 @@ describe Pony do
|
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
246
|
+
describe "additional headers" do
|
247
|
+
subject(:mail) do
|
248
|
+
Pony.build_mail(
|
249
|
+
:body => 'test',
|
250
|
+
:html_body => 'What do you know, Joe?',
|
251
|
+
:attachments => {"foo.txt" => "content of foo.txt"},
|
252
|
+
:body_part_header => { content_disposition: "inline"},
|
253
|
+
:html_body_part_header => { content_disposition: "inline"}
|
254
|
+
)
|
255
|
+
end
|
256
|
+
|
257
|
+
it { expect(mail.parts[0].to_s).to include( 'inline' ) }
|
258
|
+
it { expect(mail.parts[1].to_s).to include( 'inline' ) }
|
259
|
+
|
260
|
+
context "when parts aren't present" do
|
261
|
+
subject(:mail) do
|
262
|
+
Pony.build_mail(
|
263
|
+
:body => 'test',
|
264
|
+
:body_part_header => { content_disposition: "inline"},
|
265
|
+
:html_body_part_header => { content_disposition: "inline"}
|
266
|
+
)
|
267
|
+
end
|
268
|
+
|
269
|
+
it { expect(mail.parts).to be_empty }
|
270
|
+
it { expect(mail.to_s).to_not include( 'inline' ) }
|
271
|
+
end
|
272
|
+
end
|
273
|
+
|
246
274
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.8'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Wiggins
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mail
|