mandrill_mailer 1.5.0 → 1.6.0

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
1
  ---
2
2
  SHA1:
3
- metadata.gz: db83dd2cbc825c2c3f08e744629adafa42883d00
4
- data.tar.gz: 7f829bc19555e3f6988b0bdf897f5d3dddcd83d2
3
+ metadata.gz: 413e3b48c2e8f81449c0d426c5184b64523bc09b
4
+ data.tar.gz: 43cd6aaff9e74945faf6070da60fb41e6f9a00f1
5
5
  SHA512:
6
- metadata.gz: 4507163ed0e75d8b2c2bec260bc3d0481f1ff83efd3d3f0f019bc2ce1b796ef9d31189004bf2d905cb1ef7ea63aae79c88f6a5fda84234139192d367297562f2
7
- data.tar.gz: eb526bb48f908ee0f30311613232451364f5797a698d6de944aff97ab00d7a083475077d79855992070b552539a4cc5f60aa30745201fb23c025a7875fa780fb
6
+ metadata.gz: f99d80385837a0bde6f8b32182044ce76dac55e3f6bff62a9d544f48f01c3281b25dfb0b5840a25dc477835a864f0886dd2eaaa354f43aed494e87439c38f3ef
7
+ data.tar.gz: b3c5407a1869fd50aeb4636b8e4bde403eb1e619b762d28282975a3f806114d27fb1d64552ed67535f32df05f4abb707d0dfe121cd99a99fea37eb7028247938
data/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## 1.6.0 - 2017-03-23
6
+ - Add support for attaching unencoded content via @brunomperes
7
+
5
8
  ## 1.5.0 - 2017-03-20
6
9
  - Update offline adapter for testing to be more compatible with Rails 5 via @eric1234
7
10
 
data/README.md CHANGED
@@ -153,11 +153,13 @@ end
153
153
 
154
154
  * `:attachments` - An array of file objects with the following keys:
155
155
  * `content`: The file contents, this will be encoded into a base64 string internally
156
+ * `encoded_content` (optional): File content already encoded into base64 string. Overrides `content`
156
157
  * `name`: The name of the file
157
158
  * `type`: This is the mimetype of the file. Ex. png = image/png, pdf = application/pdf, txt = text/plain etc etc
158
159
 
159
160
  * `:images` - An array of embedded images to add to the message:
160
161
  * `content`: The file contents, this will be encoded into a base64 string internally
162
+ * `encoded_content` (optional): File content already encoded into base64 string. Overrides `content`
161
163
  * `name`: The name of the file
162
164
  * `type`: This is the mimetype of the file. Ex. png = image/png, pdf = application/pdf, txt = text/plain etc etc etc
163
165
 
@@ -11,7 +11,9 @@ module MandrillMailer
11
11
  type = attachment[:mimetype] || attachment[:type]
12
12
  name = attachment[:filename] || attachment[:name]
13
13
  file = attachment[:file] || attachment[:content]
14
- {"type" => type, "name" => name, "content" => Base64.encode64(file)}
14
+ encoded_file = attachment[:encoded_file] || attachment[:encoded_content]
15
+ next {"type" => type, "name" => name, "content" => encoded_file} if encoded_file
16
+ next {"type" => type, "name" => name, "content" => Base64.encode64(file)}
15
17
  end
16
18
  end
17
19
 
@@ -1,3 +1,3 @@
1
1
  module MandrillMailer
2
- VERSION = "1.5.0"
2
+ VERSION = "1.6.0"
3
3
  end
@@ -10,6 +10,13 @@ describe MandrillMailer::ArgFormatter do
10
10
  content: "testing some test test file"
11
11
  }
12
12
  end
13
+ let(:encoded_api_args) do
14
+ {
15
+ type: "some/type",
16
+ name: 'test',
17
+ encoded_content: Base64.encode64("testing some test test file")
18
+ }
19
+ end
13
20
 
14
21
  let(:file_args) do
15
22
  {
@@ -18,6 +25,13 @@ describe MandrillMailer::ArgFormatter do
18
25
  file: "testing some test test file"
19
26
  }
20
27
  end
28
+ let(:encoded_file_args) do
29
+ {
30
+ mimetype: "some/type",
31
+ filename: 'test',
32
+ encoded_file: Base64.encode64("testing some test test file")
33
+ }
34
+ end
21
35
 
22
36
 
23
37
  describe 'attachment_args' do
@@ -35,6 +49,16 @@ describe MandrillMailer::ArgFormatter do
35
49
  'content' => Base64.encode64("testing some test test file")
36
50
  }])
37
51
  end
52
+
53
+ describe "passing an encoded string" do
54
+ it "formats the correct attachment data" do
55
+ expect(formatter.attachment_args([encoded_file_args])).to eq([{
56
+ 'type' => "some/type",
57
+ 'name' => 'test',
58
+ 'content' => Base64.encode64("testing some test test file")
59
+ }])
60
+ end
61
+ end
38
62
  end
39
63
 
40
64
  context "with api syntax" do
@@ -45,6 +69,16 @@ describe MandrillMailer::ArgFormatter do
45
69
  'content' => Base64.encode64("testing some test test file")
46
70
  }])
47
71
  end
72
+
73
+ describe "passing an encoded string" do
74
+ it "formats the correct attachment data" do
75
+ expect(formatter.attachment_args([encoded_api_args])).to eq([{
76
+ 'type' => "some/type",
77
+ 'name' => 'test',
78
+ 'content' => Base64.encode64("testing some test test file")
79
+ }])
80
+ end
81
+ end
48
82
  end
49
83
  end
50
84
 
@@ -233,4 +267,4 @@ describe MandrillMailer::ArgFormatter do
233
267
  end
234
268
  end
235
269
  end
236
- end
270
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandrill_mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Rensel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-20 00:00:00.000000000 Z
11
+ date: 2017-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport