shoptet 0.0.13 → 0.0.14
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 +4 -4
- data/lib/shoptet.rb +22 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 289440d376a54ad0d925741b1964a1db28beb3f27ea7bfc667eccbc427458f2d
|
4
|
+
data.tar.gz: '09d1742a1b57c06acb939aa547aefdea76513905fd89679475438e3c2e515e65'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 366aa1983278c08fac3864f79e9b3322e5ac72e99a5beca1a3aea72926eb0facafb2cfc8018f46c7fe40459c197823c05c2c6e291231d8e48a41bcac254be199
|
7
|
+
data.tar.gz: 745cc481bb6fcc8711bc69b81242097da6a52c9afe0e31a499e5405fc5e8b08c3659e4a5154c151032f0050d18ee99ee8887c14c8316701045d0193289ea6d41
|
data/lib/shoptet.rb
CHANGED
@@ -11,6 +11,10 @@ class Shoptet
|
|
11
11
|
class EmptyRequestResponse < StandardError; end
|
12
12
|
class MaxPageReached < StandardError; end
|
13
13
|
|
14
|
+
EXPIRED_TOKEN_CODE = 'expired-token'
|
15
|
+
INVALID_TOKEN_CODE = 'invalid-token'
|
16
|
+
ADDON_NOT_INSTALLED = 'Addon installation is not approved.'
|
17
|
+
|
14
18
|
DEFAULT_ON_TOKEN_ERROR = -> (api) do
|
15
19
|
api.api_token = api.new_api_token
|
16
20
|
end
|
@@ -68,7 +72,7 @@ class Shoptet
|
|
68
72
|
end
|
69
73
|
|
70
74
|
def self.version
|
71
|
-
'0.0.
|
75
|
+
'0.0.14'
|
72
76
|
end
|
73
77
|
|
74
78
|
def self.ar_on_token_error(model)
|
@@ -249,6 +253,14 @@ class Shoptet
|
|
249
253
|
end
|
250
254
|
end
|
251
255
|
|
256
|
+
def suspended?
|
257
|
+
data = shop_info
|
258
|
+
|
259
|
+
false if data
|
260
|
+
rescue Shoptet::AddonSuspended
|
261
|
+
true
|
262
|
+
end
|
263
|
+
|
252
264
|
private
|
253
265
|
|
254
266
|
def enumerize base_url, filters = {}, data_key = nil
|
@@ -258,12 +270,18 @@ class Shoptet
|
|
258
270
|
def handle_errors result, uri, headers
|
259
271
|
error = result['error']
|
260
272
|
errors = result['errors'] || []
|
261
|
-
token_errors, non_token_errors = errors.partition
|
273
|
+
token_errors, non_token_errors = errors.partition do |err|
|
274
|
+
code = err['errorCode']
|
275
|
+
message = err['message']
|
276
|
+
|
277
|
+
code == EXPIRED_TOKEN_CODE ||
|
278
|
+
code == INVALID_TOKEN_CODE && message == "Invalid access token."
|
279
|
+
end
|
262
280
|
|
263
281
|
if error || non_token_errors.any?
|
264
|
-
if error == 'addon_suspended'
|
282
|
+
if error == 'addon_suspended' || errors.any? { |e| e["errorCode"] == INVALID_TOKEN_CODE && e['message'] == ADDON_NOT_INSTALLED }
|
265
283
|
raise AddonSuspended
|
266
|
-
elsif error == 'addon_not_installed'
|
284
|
+
elsif (error == 'addon_not_installed')
|
267
285
|
raise AddonNotInstalled
|
268
286
|
elsif errors.any? { |err| err["errorCode"] == 'invalid-token-no-rights' }
|
269
287
|
raise InvalidTokenNoRights
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shoptet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Premysl Donat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: irb
|