quickmail 0.12.0 → 0.17.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: ba3bb590c0e78fdc175145e62566e44fc6a5691a5e24d6e01bc13222e03dc0ea
4
- data.tar.gz: bc8ad9dea2a71303bcc1c24de649675d3a37a71b7eb410e7113cd9c6a67e6ee5
3
+ metadata.gz: 7c230f03c9c4a768d9c56d94a37396841d47015b79aaf6ef96b1e46e79d3773e
4
+ data.tar.gz: 97a992b510201d1473f053d46d9b6909d41af62bd2c3aa9ccacb272d2d9e0fb3
5
5
  SHA512:
6
- metadata.gz: 7c050950c1f376f2144320dd1d314e1c4391c246ac449ecd0187311be007b44e097eb03533ca10f3b14255c102d810e12a21ec5c8d8bd842c1dbfe028060eeae
7
- data.tar.gz: 582985ea8b3fad010ff5da94be4edb935ee0669023bf85d33e38c1ef4f801fbdfe47363e15a84ef0724accc993f8c0f21c106a174a067f17abb427d0688703b4
6
+ metadata.gz: 82f88eab0bcf157a92427aa8f9e32f91b7741e2087b22dad758b100f2122fa0ac25eac92005748054f4aa954bb9571e74b8b5e21a84a0acb8fb6a92a0ba6cb5c
7
+ data.tar.gz: a50a4901fea7de01cdd1bc3a3ddc393043a2bdd9e4218aed6a964a6f07866cd343fa2628853c930ae731efeb870e5e326603754c3447b136384195ccb34b4ecb
@@ -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
 
@@ -46,15 +47,13 @@ module Quickmail
46
47
  end
47
48
 
48
49
  def api_base
49
- Quickmail.test_mode ? "https://quickmailonline.com.au/api/test" : "https://quickmailonline.com.au/api/"
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,19 +61,21 @@ 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
- payload: payload,
74
+ url: url,
75
+ payload: payload.to_json,
75
76
  headers: headers
76
77
  }).execute do |response, request, result|
77
- if response.code != 200
78
+ if response.code != 201 || response.code != 200
78
79
  raise ApiRequestError.new(
79
80
  response_code: response.code,
80
81
  response_headers: response.headers,
@@ -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.12.0"
2
+ VERSION = "0.17.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.12.0
4
+ version: 0.17.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-15 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