shoptet 0.0.29 → 0.0.34
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/Gemfile.lock +1 -1
- data/lib/shoptet.rb +3 -1
- data/lib/shoptet/api_enumerator.rb +6 -4
- data/lib/shoptet/request.rb +8 -14
- data/shoptet.gemspec +0 -2
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94aaeb044be3d937c013893b263fd6fcf48eec3267737e57a72a0a972e8193b8
|
4
|
+
data.tar.gz: 5a86aea9a7a8caf2e3eb93146cc92cf6d14e54adbc910079b11243ae892b7f6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06def3df961091c2000bc13eb685a9507096c53256f57bd2faf7e9991eab09dbec9b3d43131310d303403cec8315688bd9a9dc559f45e03e90f4476f27780528
|
7
|
+
data.tar.gz: 763669ff9ee09302d24d379dd0c3901084425511b6878d902e28e30c0e572bedf25f9b698f5bc89163c59811cbf31ee4af6b2e1f65b3fa25db5dd917ea9abd2b
|
data/Gemfile.lock
CHANGED
data/lib/shoptet.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'delegate'
|
2
4
|
require_relative 'shoptet/request'
|
3
5
|
require_relative 'shoptet/api_enumerator'
|
@@ -23,7 +25,7 @@ class Shoptet
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def self.version
|
26
|
-
'0.0.
|
28
|
+
'0.0.34'
|
27
29
|
end
|
28
30
|
|
29
31
|
def self.ar_on_token_error(model)
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class Shoptet
|
2
4
|
class ApiEnumerator < SimpleDelegator
|
3
5
|
def initialize base_url, filters, data_key, api
|
@@ -10,10 +12,10 @@ class Shoptet
|
|
10
12
|
first_page.dig('data', @data_key).each { y.yield _1 }
|
11
13
|
|
12
14
|
if total_pages > 1
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
(2..(total_pages - 1)).each do |page|
|
16
|
+
@api.request(base_url, filters.merge(page: page))
|
17
|
+
.dig('data', @data_key)
|
18
|
+
.each { y.yield _1 }
|
17
19
|
end
|
18
20
|
|
19
21
|
last_page.dig('data', @data_key).each { y.yield _1 }
|
data/lib/shoptet/request.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'net/http'
|
2
|
-
require '
|
2
|
+
require 'json'
|
3
3
|
|
4
4
|
class Shoptet
|
5
5
|
class Request
|
6
6
|
def self.get url, headers
|
7
7
|
http = Net::HTTP.new(url.host, url.port)
|
8
8
|
http.use_ssl = true
|
9
|
-
http.open_timeout =
|
10
|
-
http.read_timeout =
|
11
|
-
http.write_timeout =
|
12
|
-
http.ssl_timeout =
|
9
|
+
http.open_timeout = 30
|
10
|
+
http.read_timeout = 30
|
11
|
+
http.write_timeout = 30
|
12
|
+
http.ssl_timeout = 30
|
13
13
|
|
14
14
|
request = Net::HTTP::Get.new(url)
|
15
15
|
headers.each do |key, value|
|
@@ -17,7 +17,7 @@ class Shoptet
|
|
17
17
|
end
|
18
18
|
|
19
19
|
response = handle_net_timeouts { http.request(request) }
|
20
|
-
parsed_body =
|
20
|
+
parsed_body = JSON.parse(response.body)
|
21
21
|
|
22
22
|
unless parsed_body
|
23
23
|
message = "Status code: #{response.code}, url: #{url}"
|
@@ -35,22 +35,16 @@ class Shoptet
|
|
35
35
|
handle_net_timeouts { http.request(request) }
|
36
36
|
end
|
37
37
|
|
38
|
-
|
38
|
+
JSON.parse(response.body)
|
39
39
|
end
|
40
40
|
|
41
41
|
private
|
42
42
|
|
43
43
|
def self.handle_net_timeouts
|
44
|
-
attempts = 0
|
45
|
-
|
46
44
|
begin
|
47
45
|
yield
|
48
46
|
rescue Net::OpenTimeout
|
49
|
-
|
50
|
-
|
51
|
-
attempts += 1
|
52
|
-
|
53
|
-
retry
|
47
|
+
yield
|
54
48
|
end
|
55
49
|
end
|
56
50
|
end
|
data/shoptet.gemspec
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
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.34
|
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-
|
11
|
+
date: 2021-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: oj
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: irb
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
64
|
- !ruby/object:Gem::Version
|
79
65
|
version: '0'
|
80
66
|
requirements: []
|
81
|
-
rubygems_version: 3.2.
|
67
|
+
rubygems_version: 3.2.15
|
82
68
|
signing_key:
|
83
69
|
specification_version: 4
|
84
70
|
summary: API wrapper for interacting with Shoptet api
|