gman_client 0.0.5 → 0.0.6

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
  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: