gman_client 0.0.5 → 0.0.6
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/gman_client.gemspec +2 -0
- data/lib/gman_client.rb +31 -15
- data/lib/gman_client/version.rb +1 -1
- data/spec/lib/driver_commission_history_response_spec.rb +5 -5
- data/spec/lib/driver_response_spec.rb +2 -2
- data/spec/lib/inventory_item_response_spec.rb +6 -6
- data/spec/support/gman_adapter.rb +1 -1
- metadata +31 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d3ad75028afbb8ab92e87f6badbe28f0e94aac0
|
4
|
+
data.tar.gz: 1ab474491bd13cc66214e54a537c1743d3514f7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de86b393ec5bef99c32f9e49802ca9c3e65d332b175f74a4dc2b22d8dc424c6e89c715e7f1905317ae05f49ea86679e1eb423e7df1ba347aac5cf1ec02c837ce
|
7
|
+
data.tar.gz: fcbb0caa9331f5af1f50125f752ebaed02e6cd83ee7ab97aca5e1cb92fd20dc14cc87092ea3f33a96e85f77d08590a68a6e2b63bb056c80c7978d0e2dfed4607
|
data/gman_client.gemspec
CHANGED
@@ -20,6 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_runtime_dependency 'vcr'
|
21
21
|
spec.add_runtime_dependency 'webmock'
|
22
22
|
spec.add_dependency 'blanket_wrapper'
|
23
|
+
spec.add_dependency 'hashie'
|
24
|
+
spec.add_dependency 'retries'
|
23
25
|
spec.add_dependency 'rest-client'
|
24
26
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
25
27
|
spec.add_development_dependency 'rake', '~> 10.0'
|
data/lib/gman_client.rb
CHANGED
@@ -2,6 +2,8 @@ require 'gman_client/version'
|
|
2
2
|
require 'rest_client'
|
3
3
|
require 'json'
|
4
4
|
require 'blanket'
|
5
|
+
require 'hashie'
|
6
|
+
require 'retries'
|
5
7
|
|
6
8
|
# GmanClient
|
7
9
|
module Gman
|
@@ -14,40 +16,47 @@ module Gman
|
|
14
16
|
@client_id = options[:client_id] || ENV['CLIENT_ID']
|
15
17
|
@client_secret = options[:client_secret] || ENV['CLIENT_SECRET']
|
16
18
|
end
|
17
|
-
# class << self
|
18
19
|
|
19
20
|
def drivers
|
20
|
-
response = request.api.v1.drivers.get
|
21
|
+
response = attempt(3) { request.api.v1.drivers.get }
|
21
22
|
convert_payload(response)
|
22
23
|
end
|
23
24
|
|
24
25
|
def driver_commission_histories
|
25
|
-
response =
|
26
|
+
response = attempt(3) do
|
27
|
+
request.api.v1.driver_commissions_history.get
|
28
|
+
end
|
26
29
|
convert_payload(response)
|
27
30
|
end
|
28
31
|
|
29
32
|
def driver_commission_histories_by_paid_date(paid_date)
|
30
|
-
response =
|
31
|
-
|
33
|
+
response = attempt(3) do
|
34
|
+
request.api.v1.driver_commissions_history_by_paid_date
|
35
|
+
.get(:params => { :paid_date => paid_date })
|
36
|
+
end
|
32
37
|
convert_payload(response)
|
33
38
|
end
|
34
39
|
|
35
40
|
def inventory_items
|
36
|
-
response = request.api.v1.inventory.items.get
|
41
|
+
response = attempt(3) { request.api.v1.inventory.items.get }
|
37
42
|
convert_payload(response)
|
38
43
|
end
|
39
44
|
|
40
45
|
def inventory_items_like_id_description(item_id, in_item_description)
|
41
|
-
response =
|
42
|
-
|
43
|
-
|
44
|
-
|
46
|
+
response = attempt(3) do
|
47
|
+
request.api.v1.inventory.items_like_id_description
|
48
|
+
.get(:params => { :item_id => item_id,
|
49
|
+
:in_item_description => in_item_description }
|
50
|
+
)
|
51
|
+
end
|
45
52
|
convert_payload(response)
|
46
53
|
end
|
47
54
|
|
48
55
|
def inventory_items_by_id(item_id)
|
49
|
-
response =
|
50
|
-
|
56
|
+
response = attempt(3) do
|
57
|
+
request.api.v1.inventory.items_by_id
|
58
|
+
.get(:params => { :item_id => item_id })
|
59
|
+
end
|
51
60
|
convert_payload(response)
|
52
61
|
end
|
53
62
|
|
@@ -57,7 +66,7 @@ module Gman
|
|
57
66
|
:extension => :json,
|
58
67
|
:headers => {
|
59
68
|
'Authorization' => "Bearer #{token}" }
|
60
|
-
|
69
|
+
)
|
61
70
|
end
|
62
71
|
|
63
72
|
def retrieve_token
|
@@ -69,9 +78,16 @@ module Gman
|
|
69
78
|
JSON.parse(response)['access_token']
|
70
79
|
end
|
71
80
|
|
81
|
+
private
|
82
|
+
|
72
83
|
def convert_payload(response)
|
73
|
-
response.
|
84
|
+
response.map do |hash_request|
|
85
|
+
Hashie.symbolize_keys!(hash_request.to_h)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def attempt(retry_count)
|
90
|
+
with_retries(:max_tries => retry_count) { yield }
|
74
91
|
end
|
75
|
-
# end
|
76
92
|
end
|
77
93
|
end
|
data/lib/gman_client/version.rb
CHANGED
@@ -16,8 +16,8 @@ RSpec.describe GmanClient do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'responds with a hash list' do
|
19
|
-
is_expected.to satisfy {
|
20
|
-
|
19
|
+
is_expected.to satisfy { |h|
|
20
|
+
h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
|
21
21
|
}
|
22
22
|
end
|
23
23
|
|
@@ -49,7 +49,7 @@ RSpec.describe GmanClient do
|
|
49
49
|
let(:response) do
|
50
50
|
VCR.use_cassette('driver_commission_histories_by_paid_date') do
|
51
51
|
gman_adapter.driver_commission_histories_by_paid_date(
|
52
|
-
|
52
|
+
Date.new(2014, 01, 01))
|
53
53
|
end
|
54
54
|
end
|
55
55
|
subject(:client_response) { response }
|
@@ -59,8 +59,8 @@ RSpec.describe GmanClient do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'responds with a hash list' do
|
62
|
-
is_expected.to satisfy {
|
63
|
-
|
62
|
+
is_expected.to satisfy { |h|
|
63
|
+
h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
|
64
64
|
}
|
65
65
|
end
|
66
66
|
|
@@ -16,8 +16,8 @@ RSpec.describe GmanClient do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'responds with a hash list' do
|
19
|
-
is_expected.to satisfy {
|
20
|
-
|
19
|
+
is_expected.to satisfy { |h|
|
20
|
+
h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
|
21
21
|
}
|
22
22
|
end
|
23
23
|
|
@@ -42,8 +42,8 @@ RSpec.describe GmanClient do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'responds with a hash list' do
|
45
|
-
is_expected.to satisfy {
|
46
|
-
|
45
|
+
is_expected.to satisfy { |h|
|
46
|
+
h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
|
47
47
|
}
|
48
48
|
end
|
49
49
|
|
@@ -70,8 +70,8 @@ RSpec.describe GmanClient do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'responds with a hash list' do
|
73
|
-
is_expected.to satisfy {
|
74
|
-
|
73
|
+
is_expected.to satisfy { |h|
|
74
|
+
h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
|
75
75
|
}
|
76
76
|
end
|
77
77
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gman_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MichaelAChrisco
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-03
|
12
|
+
date: 2015-08-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: vcr
|
@@ -53,6 +53,34 @@ dependencies:
|
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: hashie
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: retries
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
56
84
|
- !ruby/object:Gem::Dependency
|
57
85
|
name: rest-client
|
58
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
207
|
version: '0'
|
180
208
|
requirements: []
|
181
209
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.4.
|
210
|
+
rubygems_version: 2.4.6
|
183
211
|
signing_key:
|
184
212
|
specification_version: 4
|
185
213
|
summary: GMAN gem client
|
@@ -196,4 +224,3 @@ test_files:
|
|
196
224
|
- spec/vcr_cassettes/inventory_items.yml
|
197
225
|
- spec/vcr_cassettes/inventory_items_by_id.yml
|
198
226
|
- spec/vcr_cassettes/inventory_items_like_id_description.yml
|
199
|
-
has_rdoc:
|