kounta_rest 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/kounta.gemspec CHANGED
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "oauth2", "0.9.2"
30
30
  spec.add_dependency "pry", "0.9.12.2"
31
31
  spec.add_dependency "yell", "1.5.1"
32
- end
32
+ spec.add_dependency "faraday_middleware", "0.9.0"
33
+ end
data/lib/kounta.rb CHANGED
@@ -22,7 +22,6 @@ module Kounta
22
22
  TOKEN_URI = "https://api.kounta.com/v1/token.json"
23
23
  SITE_URI = "https://api.kounta.com/v1/"
24
24
  FORMAT = :json
25
- REQUEST_HEADERS = {'Content-Type' => 'application/json'}
26
25
 
27
26
  def self.log(message)
28
27
 
@@ -1,6 +1,6 @@
1
1
  require 'oauth2'
2
- require 'yell'
3
2
  require 'oj'
3
+ require 'faraday_middleware'
4
4
 
5
5
  module Kounta
6
6
  module REST
@@ -8,9 +8,7 @@ module Kounta
8
8
 
9
9
  def initialize
10
10
  raise Kounta::Errors::MissingOauthDetails unless has_required_oauth_details?
11
- @logger = Yell.new STDOUT
12
11
  @conn = OAuth2::AccessToken.new(client, Kounta.client_token, {:refresh_token => Kounta.client_refresh_token})
13
-
14
12
  end
15
13
 
16
14
  def client
@@ -18,7 +16,12 @@ module Kounta
18
16
  :site => Kounta::SITE_URI,
19
17
  :authorize_url => Kounta::AUTHORIZATION_URI,
20
18
  :token_url => Kounta::TOKEN_URI
21
- })
19
+ }) do |faraday|
20
+ faraday.request :json
21
+ faraday.use Faraday::Request::UrlEncoded
22
+ faraday.use Faraday::Response::Logger if Kounta.enable_logging
23
+ faraday.adapter Faraday.default_adapter
24
+ end
22
25
  end
23
26
 
24
27
  def path_from_hash(url_hash)
@@ -30,11 +33,11 @@ module Kounta
30
33
  options[:headers].merge!(Kounta::REQUEST_HEADERS)
31
34
 
32
35
  begin
33
- log("#{request_method}: #{Kounta::SITE_URI}#{path_from_hash(url_hash)}.#{FORMAT.to_s}")
34
- response = @conn.request(request_method, "#{path_from_hash(url_hash)}.#{FORMAT.to_s}", options)
36
+ response = @conn.request(request_method, "#{path_from_hash(url_hash)}.#{FORMAT.to_s}", options) do |request|
37
+
38
+ end
35
39
  rescue OAuth2::Error => ex
36
40
  if ex.message.include? 'The access token provided has expired'
37
- log(ex.message)
38
41
  @conn = refreshed_token
39
42
  retry
40
43
  end
@@ -71,10 +74,6 @@ module Kounta
71
74
  Kounta.client_id && Kounta.client_secret && Kounta.client_token && Kounta.client_refresh_token
72
75
  end
73
76
 
74
- def log(message)
75
- @logger.info(message) unless !Kounta.enable_logging
76
- end
77
-
78
77
  def refreshed_token
79
78
  OAuth2::AccessToken.from_hash(client, :refresh_token => Kounta.client_refresh_token).refresh!
80
79
  end
@@ -1,3 +1,3 @@
1
1
  module Kounta
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kounta_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -171,6 +171,22 @@ dependencies:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
173
  version: 1.5.1
174
+ - !ruby/object:Gem::Dependency
175
+ name: faraday_middleware
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - '='
180
+ - !ruby/object:Gem::Version
181
+ version: 0.9.0
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - '='
188
+ - !ruby/object:Gem::Version
189
+ version: 0.9.0
174
190
  description: Library for accessing Kounta's RESTful API
175
191
  email:
176
192
  - sam@richardson.co.nz