commercelayer 0.6.0 → 0.7.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: fb53693293c2d20a93e3b5005ed8dc5355d79931578ff69ed63fe625ce41b3a0
4
- data.tar.gz: a1e83650b5b88b0aebe75f0eefbee09f51c0e28053a43da39af6771106059dd6
3
+ metadata.gz: aad7af174809c649623a3ca95f432464a26e37bee3db00bb854dc0f17d9f4423
4
+ data.tar.gz: 4f39421a15143c1ed5617aa79e20b75c147b4a09a1591e54c6f1e0e2fcff4703
5
5
  SHA512:
6
- metadata.gz: cca5664120c143dbc716a7a4131a384ad069025c2ea7c24ab4ef7ff1107e08f622687b710958297a500ac808e4318ee08dc2f1f274360b5bdc6d1ae64f5da973
7
- data.tar.gz: b7b93cfe110f8728920255bdde3ac58425a760a9c16ff7ddc8ab97fd27c976394c607e26b4d055bd71fce857eaaa988c8587810123b50b9d9ea6deda579aff03
6
+ metadata.gz: b1cce53d5686793d7b4c903cfd2c1b68d6a4ddf63e50d18fbf1198be477c93adfa5e4158edd1d051626946a4121f8b4f039392428aade44cd5f5aef3e2b09ce0
7
+ data.tar.gz: 29da18ab4d1f26768c43c90e916d48a9c2980c461888f6a7eec77fa0e037b449d37969d4d998115d6d7633d582f5c785598201b6dd914543676e86690da41f84
@@ -3,6 +3,8 @@ require "oauth2"
3
3
  module Commercelayer
4
4
  class Client
5
5
 
6
+ MAX_RETRIES = 1
7
+
6
8
  def initialize(options={})
7
9
  @client_id = options[:client_id]
8
10
  @client_secret = options[:client_secret]
@@ -11,6 +13,21 @@ module Commercelayer
11
13
  Resource.site = "#{options[:site]}/api/"
12
14
  end
13
15
 
16
+ def authorized(cached_access_token=nil)
17
+ begin
18
+ retries ||= 0
19
+ Commercelayer::Resource.authorize_with = cached_access_token
20
+ yield
21
+ rescue JSONAPI::Consumer::Errors::NotAuthorized
22
+ if (retries += 1) <= MAX_RETRIES
23
+ cached_access_token = authorize!
24
+ retry
25
+ else
26
+ raise
27
+ end
28
+ end
29
+ end
30
+
14
31
  def authorize!
15
32
  Resource.authorize_with = get_access_token
16
33
  end
@@ -1,3 +1,3 @@
1
1
  module Commercelayer
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commercelayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filippo Conforti