commercelayer 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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