quickmail 0.13.0 → 0.18.0

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
  SHA256:
3
- metadata.gz: db43904f045e30e53acbaee6040a44cdd288f583809fe7ba49049e12794ece46
4
- data.tar.gz: d1d452042594d6c6e7b279b3b26091049e137ca8cfba0d22ef293842c9ea77d1
3
+ metadata.gz: 7c32da1d6cf69625dac15061c22e1d25ecd2bbba5bb68cbf3a2e8e2b74e9b268
4
+ data.tar.gz: 2b4573f5bf66172fa863be80eb63117846e6262dde7408ebf061658990feb00b
5
5
  SHA512:
6
- metadata.gz: bde69d4a4ec67bb16b3383b1ce33b1a4c2dd3fc768f00e6e89047bffe1808444b3a41ea295c4acfbc978ae0e2d052bd2bccfcaa39c3a2106588e4c65c19ee4d3
7
- data.tar.gz: e49172dbf33591a4836956c58b6d766920de937e19a48d649ec2bf84b04ff6afee48f2595287840444f579e33f220a088489090296c05fbbc537417c2b470734
6
+ metadata.gz: 28d725bb5df5dfb1026894bcb04d382303e8cfad1f0c20345e8af75d02b9ce70c119df0171ba0183d7f8c276eb10d6b9ffd651a733faf1b6cef27c183a944a8a
7
+ data.tar.gz: aa81d960accd74e0508f40b8d623f59ec9580cdc090dd9733385503baec90e05df0354637c7146a20db6178c12e138450141883a80b84c596a271e5da7eee1d5
@@ -3,6 +3,7 @@
3
3
  require 'rest-client'
4
4
 
5
5
  require 'quickmail/authentication'
6
+ require 'quickmail/inventory'
6
7
  require 'quickmail/order'
7
8
  require 'quickmail/tracking'
8
9
 
@@ -49,12 +50,10 @@ module Quickmail
49
50
  Quickmail.test_mode ? "https://quickmailonline.com.au/api/test/" : "https://quickmailonline.com.au/api/"
50
51
  end
51
52
 
52
- def request(method, resource, params = {})
53
- ss_access_token = params[:access_token] || Quickmail.access_token
53
+ def request(method, resource, params = {}, access_token = nil)
54
+ ss_access_token = access_token || Quickmail.access_token
54
55
  ss_api_version = Quickmail.api_version
55
56
 
56
- params.except!(:access_token)
57
-
58
57
  defined? method or raise(
59
58
  ArgumentError, "Request method has not been specified"
60
59
  )
@@ -62,27 +61,30 @@ module Quickmail
62
61
  ArgumentError, "Request resource has not been specified"
63
62
  )
64
63
  if method == :get
65
- headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}.merge({params: params})
64
+ url = Quickmail.api_base + ss_api_version + '/' + resource + '?' + params
66
65
  payload = nil
67
- else
68
66
  headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
67
+ else
68
+ url = Quickmail.api_base + ss_api_version + '/' + resource
69
69
  payload = params
70
+ headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
70
71
  end
71
72
  RestClient::Request.new({
72
73
  method: method,
73
- url: Quickmail.api_base + ss_api_version + '/' + resource,
74
+ url: url,
74
75
  payload: payload.to_json,
75
76
  headers: headers
76
77
  }).execute do |response, request, result|
77
- if response.code != 201 || response.code != 200
78
+ if response.code == 201 || response.code == 200
79
+ str_response = response.to_str
80
+ str_response.blank? ? '' : JSON.parse(str_response)
81
+ else
78
82
  raise ApiRequestError.new(
79
83
  response_code: response.code,
80
84
  response_headers: response.headers,
81
85
  response_body: response.to_str
82
86
  )
83
87
  end
84
- str_response = response.to_str
85
- str_response.blank? ? '' : JSON.parse(str_response)
86
88
  end
87
89
  end
88
90
 
@@ -6,11 +6,11 @@ module Quickmail
6
6
  class << self
7
7
  def oauth(payload = {})
8
8
  RestClient::Request.new({
9
- method: :post,
10
- url: Quickmail.api_base + '/token',
11
- payload: payload,
12
- headers: {content_type: "application/x-www-form-urlencoded"}
13
- }).execute do |response, request, result|
9
+ method: :post,
10
+ url: Quickmail.api_base + '/token',
11
+ payload: payload,
12
+ headers: {content_type: "application/x-www-form-urlencoded"}
13
+ }).execute do |response, request, result|
14
14
  if response.code != 200
15
15
  raise ApiRequestError.new(
16
16
  response_code: response.code,
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Quickmail
4
+ class Inventory
5
+
6
+ class << self
7
+
8
+ def list(access_token = nil)
9
+ response = Quickmail.request(:get, 'inventory', access_token)
10
+
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
@@ -4,8 +4,8 @@ module Quickmail
4
4
  class Order
5
5
 
6
6
  class << self
7
- def create(params = {})
8
- response = Quickmail.request(:post, 'orders', params)
7
+ def create(params = {}, access_token = nil)
8
+ response = Quickmail.request(:post, 'orders', params, access_token)
9
9
 
10
10
  response
11
11
  end
@@ -4,8 +4,8 @@ module Quickmail
4
4
  class Tracking
5
5
 
6
6
  class << self
7
- def poll(params = {})
8
- response = Quickmail.request(:get, 'tracking', params)
7
+ def poll(params = {}, access_token = nil)
8
+ response = Quickmail.request(:get, 'tracking', params, access_token)
9
9
 
10
10
  response
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module Quickmail
2
- VERSION = "0.13.0"
2
+ VERSION = "0.18.0"
3
3
  end
@@ -8,7 +8,7 @@ unless defined?(Spring)
8
8
  require 'bundler'
9
9
 
10
10
  lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
11
- spring = lockfile.specs.detect {|spec| spec.name == "spring"}
11
+ spring = lockfile.specs.detect { |spec| spec.name == "spring" }
12
12
  if spring
13
13
  Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
14
14
  gem 'spring', spring.version
@@ -10,7 +10,7 @@ require "rails/test_help"
10
10
  Minitest.backtrace_filter = Minitest::BacktraceFilter.new
11
11
 
12
12
  # Load support files
13
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
14
 
15
15
  # Load fixtures from the engine
16
16
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quickmail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Dallimore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2020-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -35,6 +35,7 @@ files:
35
35
  - Rakefile
36
36
  - lib/quickmail.rb
37
37
  - lib/quickmail/authentication.rb
38
+ - lib/quickmail/inventory.rb
38
39
  - lib/quickmail/order.rb
39
40
  - lib/quickmail/tracking.rb
40
41
  - lib/quickmail/version.rb