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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10fe83fea224d1b26c4df208777517d72a638a7c
4
- data.tar.gz: 1318ae7d8ea13da752fa1408109518b2a2d22a2c
3
+ metadata.gz: dfdbc1f2d420916eef7963050d984d38726fe68b
4
+ data.tar.gz: 749be002590592385f752bd6d07fb54c8345f906
5
5
  SHA512:
6
- metadata.gz: 3e54a9a4929567aa5c11a0797456a669c148d60c6ffd2a7bbe52b2c427a448c69d8e4fb1c9c61ddb326d656984ed6e4cae9148d3fe0aa8f3a1c0e8dcd0434bb6
7
- data.tar.gz: b38ff365a4af8517981e661e5343894fc0c570a2446514ce46eaf4479ddc9fa1c0a2833d098fb8d61c28f77aba81d8836e26d2a038fd1b36577d071711ea7331
6
+ metadata.gz: 05df60f0fe26d7fe9e4059dd846e7bd8a524b6cd6ccf3efa5f7da2f1df52962e70ed53a6c112f76262f9c8037ca196456efc1343e187a9ebde325b6e0892fd1b
7
+ data.tar.gz: 189dbd35a88579d3e86df8f25cb26751bf89b1457320a965120012ac12eecaf23ed93b3a7d794d3fee3eb375b69f1698e000591824189a4b0569a5369f402cc1
@@ -0,0 +1 @@
1
+ dm-courier
@@ -1 +1 @@
1
- 2.2.0
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 "sparkpost"
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 = ::SparkPost::Client.new(api_key)
26
- transmission = sparkpost.transmission
25
+ sparkpost = ::SimpleSpark::Client.new(api_key: api_key)
27
26
 
28
- transmission.send(:request, transmission.endpoint, api_key, sparkpost_message)
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)
@@ -1,3 +1,3 @@
1
1
  module DMCourier
2
- VERSION = "0.1.3".freeze
2
+ VERSION = "0.1.4".freeze
3
3
  end
@@ -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
@@ -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 "sparkpost", "~> 0.1.2"
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.3
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-05-09 00:00:00.000000000 Z
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: sparkpost
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.1.2
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.1.2
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.4.5
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