griddler-mandrill 1.1.3 → 1.1.4
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/CHANGELOG.md +4 -0
- data/lib/griddler/mandrill/adapter.rb +14 -10
- data/lib/griddler/mandrill/version.rb +1 -1
- data/spec/griddler/mandrill/adapter_spec.rb +50 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e54f49517c557c787003b280e2fae8b99d6aec51
|
4
|
+
data.tar.gz: 34c8d7d4b71c7f1ce1b4e1136a51affb7e7a148f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b722cc50ee0fca025414fffadc6c2d240bd464a7bf237d168d903efbb281f8855a78eeb209ebb16d7076b787a804408548433d4b13904579726103239164fbf
|
7
|
+
data.tar.gz: 75a760631eb0439407fdf10cbbadfc8b69fd29ddeb2f3ff366d2f0565a3f85271ab9cf293238db81ed7c3f5e286e78e7837fcbaf57b147835e5ea0a64a0dd2e9
|
data/CHANGELOG.md
CHANGED
@@ -46,11 +46,8 @@ module Griddler
|
|
46
46
|
|
47
47
|
def resolve_bcc(event)
|
48
48
|
email = event[:email]
|
49
|
-
|
50
|
-
|
51
|
-
else
|
52
|
-
[]
|
53
|
-
end
|
49
|
+
to_and_cc = (event[:to].to_a + event[:cc].to_a).compact.map(&:first)
|
50
|
+
to_and_cc.include?(email) ? [] : [full_email([email, email.split("@")[0]])]
|
54
51
|
end
|
55
52
|
|
56
53
|
def full_email(contact_info)
|
@@ -63,12 +60,19 @@ module Griddler
|
|
63
60
|
end
|
64
61
|
|
65
62
|
def attachment_files(event)
|
66
|
-
attachments
|
67
|
-
|
63
|
+
files(event, :attachments) + files(event, :images)
|
64
|
+
end
|
65
|
+
|
66
|
+
def files(event, key)
|
67
|
+
files = event[key] || Hash.new
|
68
|
+
|
69
|
+
files.map do |key, file|
|
70
|
+
file[:base64] = true if !file.has_key?(:base64)
|
71
|
+
|
68
72
|
ActionDispatch::Http::UploadedFile.new({
|
69
|
-
filename:
|
70
|
-
type:
|
71
|
-
tempfile: create_tempfile(
|
73
|
+
filename: file[:name],
|
74
|
+
type: file[:type],
|
75
|
+
tempfile: create_tempfile(file)
|
72
76
|
})
|
73
77
|
end
|
74
78
|
end
|
@@ -74,6 +74,20 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
74
74
|
expect{adapter.normalize_params}.to_not raise_error
|
75
75
|
end
|
76
76
|
|
77
|
+
it 'works with inline images' do
|
78
|
+
params = params_with_inline_images
|
79
|
+
|
80
|
+
normalized_params = Griddler::Mandrill::Adapter.normalize_params(params)
|
81
|
+
|
82
|
+
first, second = *normalized_params[0][:attachments]
|
83
|
+
|
84
|
+
expect(first.original_filename).to eq('ii_111ecfcf901e123c')
|
85
|
+
expect(first.size).to eq(upload_6_params[:length])
|
86
|
+
|
87
|
+
expect(second.original_filename).to eq('ii_151ecfcf901e828c')
|
88
|
+
expect(second.size).to eq(upload_7_params[:length])
|
89
|
+
end
|
90
|
+
|
77
91
|
describe 'when the email has no text part' do
|
78
92
|
before do
|
79
93
|
@params = params_hash
|
@@ -315,6 +329,15 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
315
329
|
mandrill_events params.to_json
|
316
330
|
end
|
317
331
|
|
332
|
+
def params_with_inline_images
|
333
|
+
params = params_hash
|
334
|
+
params[0][:msg][:images] = {
|
335
|
+
'ii_151ecfcf901e828c' => upload_6_params,
|
336
|
+
'ii_111ecfcf901e123c' => upload_7_params
|
337
|
+
}
|
338
|
+
mandrill_events params.to_json
|
339
|
+
end
|
340
|
+
|
318
341
|
def text_body
|
319
342
|
<<-EOS.strip_heredoc.strip
|
320
343
|
Dear bob
|
@@ -400,4 +423,31 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
400
423
|
}
|
401
424
|
end
|
402
425
|
end
|
426
|
+
|
427
|
+
def upload_6_params
|
428
|
+
@upload_6_params ||= begin
|
429
|
+
file = upload_1
|
430
|
+
size = file.size
|
431
|
+
{
|
432
|
+
name: 'ii_111ecfcf901e123c',
|
433
|
+
content: Base64.encode64(file.read),
|
434
|
+
type: 'image/jpeg',
|
435
|
+
length: size
|
436
|
+
}
|
437
|
+
end
|
438
|
+
end
|
439
|
+
|
440
|
+
def upload_7_params
|
441
|
+
@upload_7_params ||= begin
|
442
|
+
file = upload_2
|
443
|
+
size = file.size
|
444
|
+
{
|
445
|
+
name: 'ii_151ecfcf901e828c',
|
446
|
+
content: Base64.encode64(file.read),
|
447
|
+
type: 'image/jpeg',
|
448
|
+
length: size
|
449
|
+
}
|
450
|
+
end
|
451
|
+
end
|
452
|
+
|
403
453
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: griddler-mandrill
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stafford Brunk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: griddler
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
112
|
+
rubygems_version: 2.5.1
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Mandrill adapter for Griddler
|