shoptet 0.0.38 → 0.0.42

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: 5ede476afaaef3f23624e03d877406c5777852fcb3310cef0610278a2d8e26f6
4
- data.tar.gz: b7bfd1c1f6ae85fc5959769d5155be2e77cc157ec9e93e88adebd09789c60240
3
+ metadata.gz: 399043de3b029f982d15285133665982d2a5319cd07eb1fcac5fcc6f9d638baa
4
+ data.tar.gz: b842f1af2fc2f4841a97bd7e2f340219622dfb6e019987c8f680756c94285334
5
5
  SHA512:
6
- metadata.gz: 118493a56fa482d1f89a431c7bbdf2f415728aa16934be5c463aa1173f3efecf31542536ed860757ece557e256039cd1e885b4b4364fd8cf1183c9f0cf2724d7
7
- data.tar.gz: 29786e3222d899086fa512397e148a5706acc47a85adc822ab0b6948008728767184976306ce068630080c44a79198f49b41aa8e467b54ff9ddcfd01d4c1531b
6
+ metadata.gz: b5928b350c88c524127b71cadec3b321e2f2bec8f5755935bd85f8e5c5a6bbe83b26cc1dde6b1aafd4212f6bcbfd6b8bf4a03535515d4f1443f65712cb2558f2
7
+ data.tar.gz: b9ee119a9d23da27164ad6d85889b55640c38f62aacb38ce1434d051d59a0aff073da06d4520cf9c106b162cd3db1802b640e6c97a4214ecbfee8b5d7db4b047
@@ -16,7 +16,7 @@ class Shoptet
16
16
  request[key] = value
17
17
  end
18
18
 
19
- response = handle_net_timeouts { http.request(request) }
19
+ response = handle_connection_errors { http.request(request) }
20
20
  parsed_body = JSON.parse(response.body)
21
21
 
22
22
  unless parsed_body
@@ -32,12 +32,12 @@ class Shoptet
32
32
  request.set_form_data(body)
33
33
 
34
34
  response = Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
35
- handle_net_timeouts { http.request(request) }
35
+ handle_connection_errors { http.request(request) }
36
36
  end
37
37
 
38
38
  JSON.parse(response.body)
39
39
  rescue JSON::ParserError => e
40
- message = "Original message: #{e.message}, response body: #{response.body}"
40
+ message = "Original message: #{e.message}, response body: #{response.body}, code :#{response.code}, headers: #{response.to_hash.to_s}"
41
41
  fail Shoptet::NonJSONResponse.new(message)
42
42
  end
43
43
 
@@ -50,7 +50,7 @@ class Shoptet
50
50
  end
51
51
 
52
52
  response = Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
53
- handle_net_timeouts { http.request(request) }
53
+ handle_connection_errors { http.request(request) }
54
54
  end
55
55
 
56
56
  JSON.parse(response.body)
@@ -63,7 +63,7 @@ class Shoptet
63
63
  end
64
64
 
65
65
  response = Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
66
- handle_net_timeouts { http.request(request) }
66
+ handle_connection_errors { http.request(request) }
67
67
  end
68
68
 
69
69
  JSON.parse(response.body)
@@ -71,10 +71,10 @@ class Shoptet
71
71
 
72
72
  private
73
73
 
74
- def self.handle_net_timeouts
74
+ def self.handle_connection_errors
75
75
  begin
76
76
  yield
77
- rescue Net::OpenTimeout
77
+ rescue Net::OpenTimeout, Errno::ECONNRESET
78
78
  yield
79
79
  end
80
80
  end
data/lib/shoptet.rb CHANGED
@@ -16,6 +16,7 @@ class Shoptet
16
16
  class SystemMaintenance < StandardError; end
17
17
  class UnknownError < StandardError; end
18
18
  class NonJSONResponse < StandardError; end
19
+ class ProjectNotFound < StandardError; end
19
20
 
20
21
  EXPIRED_TOKEN_CODE = 'expired-token'
21
22
  INVALID_TOKEN_CODE = 'invalid-token'
@@ -26,7 +27,7 @@ class Shoptet
26
27
  end
27
28
 
28
29
  def self.version
29
- '0.0.38'
30
+ '0.0.42'
30
31
  end
31
32
 
32
33
  def self.ar_on_token_error(model)
@@ -292,6 +293,8 @@ class Shoptet
292
293
  raise AddonSuspended
293
294
  elsif (error == 'addon_not_installed')
294
295
  raise AddonNotInstalled
296
+ elsif (error == 'project_not_found')
297
+ raise ProjectNotFound
295
298
  elsif errors.any? { |err| err["errorCode"] == 'invalid-token-no-rights' }
296
299
  raise InvalidTokenNoRights
297
300
  elsif errors.any? { |err| err["errorCode"] == 'stock-not-found' }
@@ -305,7 +308,7 @@ class Shoptet
305
308
  elsif errors.any? { |err| err["errorCode"] == 'page-not-found' && err['message'].include?('max page is') }
306
309
  raise MaxPageReached
307
310
  else
308
- raise Error.new result
311
+ raise Error.new(result)
309
312
  end
310
313
  end
311
314
 
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.38
4
+ version: 0.0.42
5
5
  platform: ruby
6
6
  authors:
7
7
  - Premysl Donat
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-26 00:00:00.000000000 Z
11
+ date: 2021-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: irb
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  - !ruby/object:Gem::Version
65
65
  version: '0'
66
66
  requirements: []
67
- rubygems_version: 3.2.21
67
+ rubygems_version: 3.2.29
68
68
  signing_key:
69
69
  specification_version: 4
70
70
  summary: API wrapper for interacting with Shoptet api