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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57faaa3feff67f2e167a5ca07d212253cf6546ff
4
- data.tar.gz: f42a9cb5c4fe3a6bf881ca301e745ea556e58d47
3
+ metadata.gz: 6d3ad75028afbb8ab92e87f6badbe28f0e94aac0
4
+ data.tar.gz: 1ab474491bd13cc66214e54a537c1743d3514f7e
5
5
  SHA512:
6
- metadata.gz: 5c8f6a583e53b03b85669e46c62f5a31adc6263d4d98f51eb83faad8b8d4adb7e7bf62ecf946ca951418ae6ec143513733a0ebb4bd16dd30341ff7e9b1d51c7d
7
- data.tar.gz: f916a6ca562bd24d77f2caf23288efa235d69c28ec86dc065dc001e8c3194ec8421d2121b695369dad6f1685820ff3098dc10e2b68eddf19ecf1bb3d1bd3e0a6
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 = request.api.v1.driver_commissions_history.get
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 = request.api.v1.driver_commissions_history_by_paid_date
31
- .get(:params => { :paid_date => paid_date })
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 = request.api.v1.inventory.items_like_id_description
42
- .get(:params => { :item_id => item_id,
43
- :in_item_description => in_item_description }
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 = request.api.v1.inventory.items_by_id
50
- .get(:params => { :item_id => item_id })
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.payload.first.nil? ? [response.to_h] : response.map(&:to_h)
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
@@ -1,4 +1,4 @@
1
1
  # VERSION
2
2
  module GmanClient
3
- VERSION = '0.0.5'
3
+ VERSION = '0.0.6'
4
4
  end
@@ -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
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
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
- Date.new(2014, 01, 01))
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
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
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
 
@@ -15,8 +15,8 @@ RSpec.describe GmanClient do
15
15
  end
16
16
 
17
17
  it 'responds with a hash list' do
18
- is_expected.to satisfy {
19
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
18
+ is_expected.to satisfy { |h|
19
+ h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
20
20
  }
21
21
  end
22
22
 
@@ -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
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
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
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
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
- |h| h.is_a?(Array) && h.all? { |e| e.is_a?(Hash) }
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
 
@@ -10,5 +10,5 @@ def gman_adapter
10
10
  :token_url => token_url,
11
11
  :client_id => client_id,
12
12
  :client_secret => client_secret
13
- )
13
+ )
14
14
  end
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.5
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-30 00:00:00.000000000 Z
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.3
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: