quickmail 0.4.0 → 0.9.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: 35118afcf14f6b0d12429305f1befbf9d636fc339ac6428797e8e69b628b5c49
4
- data.tar.gz: '08cb795c83fcc712514371a73ca44d67fb015af680b734d30f1160798d104768'
3
+ metadata.gz: 672837930a7b8f7312ccd8845761fe5e9d7db28bda156e913fd0880cc8c8da9f
4
+ data.tar.gz: 6ec1e7fd28578317984605b72e067e305b1fa22d94a7baedbc725a31ca30e531
5
5
  SHA512:
6
- metadata.gz: e869398ab8d318089d7fc5ba0b2ef74b9f6bb9ced895fd08dd7198ed7b704a3bc25df7d6ce255ca143b68f9345bf8a841c8ebaf56e4cf5404248ca2ebb100a71
7
- data.tar.gz: 72c211e74e91a6e3bf5bd390e809e7a96f4c4f39d0eeae61d4854a00f0426c656ac84e3878e337ac1eac079e4084a22e6d5a6e46792957c19a896404f379b82e
6
+ metadata.gz: 4e707d689dc88ee66de7bfa5b9055e8a66c60aa3649e7a4425df2d8f2d0008fd9defc5cd42989cbad4846ec3ffab712ae9c26815f473a67e5979d675d1263de3
7
+ data.tar.gz: fad1200dd04b9008f36c5f78a50e18ff504b9fe1585a14863d98c4791f01505d03c697331a367006a8a7db3f83f3b19c4ee19da7e48e38eb49f5d4f7c54ef300
@@ -8,15 +8,13 @@ require 'quickmail/tracking'
8
8
 
9
9
  module Quickmail
10
10
 
11
- API_BASE = Quickmail.test_mode ? "https://quickmailonline.com.au/api/test" : "https://quickmailonline.com.au/api/"
12
-
13
11
  class QuickmailError < StandardError
14
12
  end
15
13
 
16
- class AuthenticationError < QuickmailError;
17
- end
18
- class ConfigurationError < QuickmailError;
19
- end
14
+ class AuthenticationError < QuickmailError; end
15
+
16
+ class ConfigurationError < QuickmailError; end
17
+
20
18
  class ApiRequestError < QuickmailError
21
19
  attr_reader :response_code, :response_headers, :response_body
22
20
 
@@ -28,6 +26,9 @@ module Quickmail
28
26
  end
29
27
 
30
28
  class << self
29
+
30
+ attr_writer :access_token, :api_version, :test_mode, :api_base
31
+
31
32
  def access_token
32
33
  defined? @access_token and @access_token or raise(
33
34
  ConfigurationError, "Quickmail access token not configured"
@@ -41,15 +42,19 @@ module Quickmail
41
42
  end
42
43
 
43
44
  def test_mode
44
- @test_mode
45
+ @test_mode.nil? ? false : @test_mode
45
46
  end
46
47
 
47
- attr_writer :access_token, :api_version, :test_mode
48
+ def api_base
49
+ Quickmail.test_mode ? "https://quickmailonline.com.au/api/test" : "https://quickmailonline.com.au/api/"
50
+ end
48
51
 
49
52
  def request(method, resource, params = {})
50
- ss_access_token = Quickmail.access_token
53
+ ss_access_token = params[:access_token] || Quickmail.access_token
51
54
  ss_api_version = Quickmail.api_version
52
55
 
56
+ params.except!(:access_token)
57
+
53
58
  defined? method or raise(
54
59
  ArgumentError, "Request method has not been specified"
55
60
  )
@@ -57,16 +62,16 @@ module Quickmail
57
62
  ArgumentError, "Request resource has not been specified"
58
63
  )
59
64
  if method == :get
60
- headers = {accept: :json, content_type: :json, access_token: ss_access_token}.merge({params: params})
65
+ headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}.merge({params: params})
61
66
  payload = nil
62
67
  else
63
- headers = {accept: :json, content_type: :json, access_token: ss_access_token}
68
+ headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
64
69
  payload = params
65
70
  end
66
71
  RestClient::Request.new({
67
72
  method: method,
68
- url: API_BASE + ss_api_version + '/' + resource,
69
- payload: payload ? payload.to_json : nil,
73
+ url: Quickmail.api_base + ss_api_version + '/' + resource,
74
+ payload: payload,
70
75
  headers: headers
71
76
  }).execute do |response, request, result|
72
77
  if response.code != 200
@@ -7,8 +7,8 @@ module Quickmail
7
7
  def oauth(payload = {})
8
8
  RestClient::Request.new({
9
9
  method: :post,
10
- url: API_BASE + '/token',
11
- payload: payload ? payload.to_json : nil,
10
+ url: Quickmail.api_base + '/token',
11
+ payload: payload,
12
12
  headers: {content_type: "application/x-www-form-urlencoded"}
13
13
  }).execute do |response, request, result|
14
14
  if response.code != 201
@@ -1,3 +1,3 @@
1
1
  module Quickmail
2
- VERSION = "0.4.0"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -1,3 +1,2 @@
1
- Quickmail.access_token = '9d5a864d104b49a293d3ff2601ac89b4'
2
1
  Quickmail.api_version = 'v1'
3
2
  Quickmail.test_mode = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quickmail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Dallimore