gun_broker 0.6.2 → 0.7.0

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: 0eddcb120b859d710ec5c0ac4b88e2e2f46ae744
4
- data.tar.gz: 60ad33af4e373229e87180af396ba377a920d94f
3
+ metadata.gz: 5bafd0400e40b1e16ad4b7b231acd189d9832c4c
4
+ data.tar.gz: e6e8c12f19ebdabb12c2d1702dcd81a75dc61380
5
5
  SHA512:
6
- metadata.gz: ac4e6567685637c5652cc0fe4b1db9b2950bec987c386872f848459df489f62d82510a08d8fa5372ae4bb66969029262835e9fbeff656559ae2c0c29aea8a44d
7
- data.tar.gz: 96cc1e8f58d61b48e1982d88d5a1994cf60e3cd804993dd4804a2ff154e7bcd14369036cc7a56881f9dc1d34c127f8e2d081701b4b7772a93be36ba9660f26ba
6
+ metadata.gz: 76027d8574f2955bb768dd7e22a174fa65861913c3e467e9f462a171b8173a4c44185f520286395a99d36a939fc7ab000396b060396e5228451ddb07d7db5999
7
+ data.tar.gz: 42320fabdc61a0318e1c1814ff95bdb0321a6cd7582c84e2190fd243a521dfc2b12795c2499b6d3853eca63c87d1fb1dbe2117c0cf89777f84ebe4bc9fb52e7c
data/.gitignore CHANGED
@@ -12,3 +12,5 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ .env
16
+ .irbrc
@@ -1 +1 @@
1
- 2.0.0-p481
1
+ 2.2.0
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["oshuma@gmail.com"]
11
11
  spec.summary = %q{GunBroker.com API Ruby library.}
12
12
  spec.description = %q{}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/ammoready/gun_broker"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -51,6 +51,18 @@ module GunBroker
51
51
  GunBroker::API.get('/GunBrokerTime')
52
52
  end
53
53
 
54
+ # Determines how long to wait on the API until raising a GunBroker::Error::TimeoutError.
55
+ # @param value [Integer]
56
+ def self.timeout=(value)
57
+ @@timeout = value
58
+ end
59
+
60
+ # Amount (in seconds) to wait before raising a GunBroker::Error::TimeoutError
61
+ # @return [Integer] Defaults to `30`.
62
+ def self.timeout
63
+ defined?(@@timeout) ? @@timeout : 30
64
+ end
65
+
54
66
  private
55
67
 
56
68
  def self.dev_key_present?
@@ -124,11 +124,18 @@ module GunBroker
124
124
 
125
125
  @headers.each { |header, value| request[header] = value }
126
126
 
127
- Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
127
+ options = {
128
+ use_ssl: uri.scheme == 'https',
129
+ read_timeout: GunBroker.timeout
130
+ }
131
+
132
+ Net::HTTP.start(uri.host, uri.port, options) do |http|
128
133
  http.ssl_version = :TLSv1
129
134
  http.ciphers = ['RC4-SHA']
130
135
  http.request(request)
131
136
  end
137
+ rescue Net::ReadTimeout => e
138
+ raise GunBroker::Error::TimeoutError.new("waited for #{GunBroker.timeout} seconds with no response (#{uri}) #{e.inspect}")
132
139
  end
133
140
 
134
141
  def uri
@@ -4,6 +4,7 @@ module GunBroker
4
4
  class NotAuthorized < GunBroker::Error; end
5
5
  class NotFound < GunBroker::Error; end
6
6
  class RequestError < GunBroker::Error; end
7
+ class TimeoutError < GunBroker::Error; end
7
8
 
8
9
  end
9
10
  end
@@ -1,3 +1,3 @@
1
1
  module GunBroker
2
- VERSION = "0.6.2"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -11,6 +11,7 @@ describe GunBroker::API do
11
11
 
12
12
  before(:all) do
13
13
  GunBroker.dev_key = 'test-dev-key'
14
+ GunBroker.timeout = 1
14
15
  end
15
16
 
16
17
  it 'has a ROOT_URL constant' do
@@ -56,4 +56,21 @@ describe GunBroker do
56
56
  end
57
57
  end
58
58
 
59
+ context '.timeout' do
60
+ before(:all) do
61
+ GunBroker.sandbox = true
62
+ GunBroker.dev_key = 'test-dev-key'
63
+ end
64
+
65
+ it 'sets @@timeout' do
66
+ GunBroker.timeout = 15
67
+ expect(GunBroker.class_variable_get(:@@timeout)).to eq(15)
68
+ end
69
+
70
+ it 'returns @@timeout' do
71
+ GunBroker.timeout = 15
72
+ expect(GunBroker.timeout).to eq(15)
73
+ end
74
+ end
75
+
59
76
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gun_broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dale Campbell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-29 00:00:00.000000000 Z
11
+ date: 2016-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.9'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.9'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.20'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.20'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: yard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.8'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.8'
97
97
  description: ''
@@ -101,11 +101,11 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - .gitignore
105
- - .rspec
106
- - .ruby-gemset
107
- - .ruby-version
108
- - .yardopts
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".ruby-gemset"
107
+ - ".ruby-version"
108
+ - ".yardopts"
109
109
  - Gemfile
110
110
  - LICENSE.txt
111
111
  - README.md
@@ -149,7 +149,7 @@ files:
149
149
  - spec/support/fixtures.rb
150
150
  - spec/support/headers.rb
151
151
  - spec/support/request.rb
152
- homepage: ''
152
+ homepage: https://github.com/ammoready/gun_broker
153
153
  licenses:
154
154
  - MIT
155
155
  metadata: {}
@@ -159,17 +159,17 @@ require_paths:
159
159
  - lib
160
160
  required_ruby_version: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - '>='
162
+ - - ">="
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - '>='
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.4.1
172
+ rubygems_version: 2.4.6
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: GunBroker.com API Ruby library.