dm_courier 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -1
- data/lib/dm_courier/message_helper.rb +5 -0
- data/lib/dm_courier/services/sparkpost.rb +5 -5
- data/lib/dm_courier/version.rb +1 -1
- data/lib/monkey_patch/sparkpost/client.rb +41 -0
- data/rails_courier.gemspec +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfdbc1f2d420916eef7963050d984d38726fe68b
|
4
|
+
data.tar.gz: 749be002590592385f752bd6d07fb54c8345f906
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05df60f0fe26d7fe9e4059dd846e7bd8a524b6cd6ccf3efa5f7da2f1df52962e70ed53a6c112f76262f9c8037ca196456efc1343e187a9ebde325b6e0892fd1b
|
7
|
+
data.tar.gz: 189dbd35a88579d3e86df8f25cb26751bf89b1457320a965120012ac12eecaf23ed93b3a7d794d3fee3eb375b69f1698e000591824189a4b0569a5369f402cc1
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
dm-courier
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.0
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "base64"
|
2
|
+
require "json"
|
2
3
|
|
3
4
|
module DMCourier
|
4
5
|
module Services
|
@@ -23,6 +24,10 @@ module DMCourier
|
|
23
24
|
from.address if from_address
|
24
25
|
end
|
25
26
|
|
27
|
+
def metadata
|
28
|
+
JSON.parse(mail[:metadata].value) if mail[:metadata]
|
29
|
+
end
|
30
|
+
|
26
31
|
def from_name
|
27
32
|
from.display_name if from_address
|
28
33
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require "
|
1
|
+
require "simple_spark"
|
2
2
|
require "base64"
|
3
3
|
|
4
|
-
require "monkey_patch/sparkpost/request"
|
5
4
|
require "dm_courier/message_helper"
|
5
|
+
require "monkey_patch/sparkpost/client"
|
6
6
|
|
7
7
|
module DMCourier
|
8
8
|
module Services
|
@@ -22,10 +22,9 @@ module DMCourier
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def deliver!
|
25
|
-
sparkpost = ::
|
26
|
-
transmission = sparkpost.transmission
|
25
|
+
sparkpost = ::SimpleSpark::Client.new(api_key: api_key)
|
27
26
|
|
28
|
-
|
27
|
+
sparkpost.transmissions.create(sparkpost_message)
|
29
28
|
end
|
30
29
|
|
31
30
|
def sparkpost_message
|
@@ -54,6 +53,7 @@ module DMCourier
|
|
54
53
|
message[:content][:text] = text_part if text_part
|
55
54
|
|
56
55
|
message[:recipients] = recipients
|
56
|
+
message[:metadata] = metadata
|
57
57
|
|
58
58
|
message[:content][:attachments] = regular_attachments if attachments?(inline: false)
|
59
59
|
message[:content][:inline_images] = inline_attachments if attachments?(inline: true)
|
data/lib/dm_courier/version.rb
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "json"
|
3
|
+
require "logger"
|
4
|
+
require "net/http"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module SimpleSpark
|
8
|
+
class Client
|
9
|
+
def call(opts)
|
10
|
+
method = opts[:method]
|
11
|
+
path = opts[:path]
|
12
|
+
body_values = opts[:body_values] || {}
|
13
|
+
query_params = opts[:query_values] || {}
|
14
|
+
extract_results = opts[:extract_results].nil? ? true : opts[:extract_results]
|
15
|
+
|
16
|
+
path = "#{@base_path}#{path}"
|
17
|
+
params = { path: path, headers: headers }
|
18
|
+
params[:body] = JSON.generate(body_values) unless body_values.empty?
|
19
|
+
params[:query] = query_params unless query_params.empty?
|
20
|
+
|
21
|
+
if @debug
|
22
|
+
logger.debug("Calling #{method}")
|
23
|
+
logger.debug(params)
|
24
|
+
end
|
25
|
+
|
26
|
+
response = @session.send(method.to_s, params)
|
27
|
+
|
28
|
+
if @debug
|
29
|
+
logger.debug("Response #{response.status}")
|
30
|
+
logger.debug(response)
|
31
|
+
end
|
32
|
+
|
33
|
+
fail Exceptions::GatewayTimeoutExceeded, "Received 504 from SparkPost API" if response.status == 504
|
34
|
+
|
35
|
+
process_response(response, extract_results)
|
36
|
+
|
37
|
+
rescue Excon::Errors::Timeout
|
38
|
+
raise Exceptions::GatewayTimeoutExceeded
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/rails_courier.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.required_rubygems_version = ">= 2.4.5"
|
26
26
|
|
27
27
|
spec.add_dependency "mandrill-api", "~> 1.0.53"
|
28
|
-
spec.add_dependency "
|
28
|
+
spec.add_dependency "simple_spark", "~> 1.0.2"
|
29
29
|
spec.add_dependency "sendgrid-ruby", "~> 1.1.6"
|
30
30
|
spec.add_dependency "http", "0.9.8"
|
31
31
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm_courier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jaison Erick
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mandrill-api
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.0.53
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: simple_spark
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 1.0.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 1.0.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: sendgrid-ruby
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,6 +189,7 @@ files:
|
|
189
189
|
- ".gitignore"
|
190
190
|
- ".hound.yml"
|
191
191
|
- ".rubocop.yml"
|
192
|
+
- ".ruby-gemset"
|
192
193
|
- ".ruby-version"
|
193
194
|
- ".travis.yml"
|
194
195
|
- Gemfile
|
@@ -207,6 +208,7 @@ files:
|
|
207
208
|
- lib/dm_courier/services/sendgrid.rb
|
208
209
|
- lib/dm_courier/services/sparkpost.rb
|
209
210
|
- lib/dm_courier/version.rb
|
211
|
+
- lib/monkey_patch/sparkpost/client.rb
|
210
212
|
- lib/monkey_patch/sparkpost/request.rb
|
211
213
|
- rails_courier.gemspec
|
212
214
|
homepage: http://github.com/sumoners/dm_courier
|
@@ -229,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
231
|
version: 2.4.5
|
230
232
|
requirements: []
|
231
233
|
rubyforge_project:
|
232
|
-
rubygems_version: 2.
|
234
|
+
rubygems_version: 2.5.2
|
233
235
|
signing_key:
|
234
236
|
specification_version: 4
|
235
237
|
summary: A delivery method that abstract the most common email delivery APIs
|