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