shoptet 0.0.22 → 0.0.27

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: 2009bb64f74a45fdc160d4cbe7040366ec918ad6ad392288cad5f00f3e4e2406
4
- data.tar.gz: 72dfe3b46b578a2131e7c8b96ca1d951dddfa15eea60a8ce77d4666ae9186d91
3
+ metadata.gz: fdf758bbae88c6e735ac1bd54968ce0ec7491b5608918767b86b892adf75b0d3
4
+ data.tar.gz: bf8207c9c58a30251a8926aec33fb312af16792edbdf010a56dde488d9aa5e5e
5
5
  SHA512:
6
- metadata.gz: 3aee7e5ad2e7c1006202513f8ca57faaeb07b96508097b6457b98b174e497530545553923106f61ec184a194d2af3caf3e14abffe81f4c1912c212c8846f7723
7
- data.tar.gz: 89ae29433db50dede06c6eef59a311cef45aa9b0d59ae740ca5130cd47d207bf06cd172498862e7c2b6c4b6df96d25eb01f9b8485892d36750048e0f62bc3208
6
+ metadata.gz: b786cd47263dbc954c8b813134def4625c829ec4f6f23d5193d8bb07017b3efd4524d51d3a53ccb0f9d6ca97ed3b67aed4dd09608aa1261f0ea5f356c7c1adcd
7
+ data.tar.gz: 80786ee8885ce65e971279e300dbd4f11de589d682467fbf55b41e6e43084958226c63bd52c8f0ff33ddd7718f124b402b64499d949f9783668cb8fbab485ae7
data/lib/shoptet.rb CHANGED
@@ -9,6 +9,10 @@ class Shoptet
9
9
  class InvalidTokenNoRights < StandardError; end
10
10
  class EmptyResponse < StandardError; end
11
11
  class MaxPageReached < StandardError; end
12
+ class StockNotFound < StandardError; end
13
+ class ProductNotFound < StandardError; end
14
+ class SystemMaintenance < StandardError; end
15
+ class UnknownError < StandardError; end
12
16
 
13
17
  EXPIRED_TOKEN_CODE = 'expired-token'
14
18
  INVALID_TOKEN_CODE = 'invalid-token'
@@ -19,7 +23,7 @@ class Shoptet
19
23
  end
20
24
 
21
25
  def self.version
22
- '0.0.22'
26
+ '0.0.27'
23
27
  end
24
28
 
25
29
  def self.ar_on_token_error(model)
@@ -153,7 +157,8 @@ class Shoptet
153
157
  enumerize('https://api.myshoptet.com/api/orders', api_params)
154
158
  end
155
159
 
156
- def orders_changes api_params = {}
160
+ def orders_changes from:
161
+ api_params = { from: from.iso8601 }
157
162
  enumerize('https://api.myshoptet.com/api/orders/changes', api_params)
158
163
  end
159
164
 
@@ -167,6 +172,11 @@ class Shoptet
167
172
  result['data']
168
173
  end
169
174
 
175
+ def product_by_code code, api_params = {}
176
+ result = request("https://api.myshoptet.com/api/products/code/#{code}", api_params)
177
+ result['data']
178
+ end
179
+
170
180
  def new_api_token
171
181
  headers = { 'Authorization' => "Bearer #{@oauth_token}" }
172
182
 
@@ -228,6 +238,14 @@ class Shoptet
228
238
  raise AddonNotInstalled
229
239
  elsif errors.any? { |err| err["errorCode"] == 'invalid-token-no-rights' }
230
240
  raise InvalidTokenNoRights
241
+ elsif errors.any? { |err| err["errorCode"] == 'stock-not-found' }
242
+ raise StockNotFound
243
+ elsif errors.any? { |err| err["errorCode"] == 'product-not-found' }
244
+ raise ProductNotFound
245
+ elsif errors.any? { |err| err["errorCode"] == 'system-maintenance' }
246
+ raise SystemMaintenance
247
+ elsif errors.any? { |err| err["errorCode"] == 'unknown-error' }
248
+ raise UnknownError
231
249
  elsif errors.any? { |err| err["errorCode"] == 'page-not-found' && err['message'].include?('max page is') }
232
250
  raise MaxPageReached
233
251
  else
@@ -25,6 +25,8 @@ class Shoptet
25
25
  end
26
26
 
27
27
  parsed_body
28
+ rescue Net::OpenTimeout => e
29
+ raise(e.class, "#{e.message} - on url #{url}")
28
30
  end
29
31
 
30
32
  def self.post url, body
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.22
4
+ version: 0.0.27
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-12-22 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
80
  requirements: []
81
- rubygems_version: 3.1.4
81
+ rubygems_version: 3.2.15
82
82
  signing_key:
83
83
  specification_version: 4
84
84
  summary: API wrapper for interacting with Shoptet api