tddium_client 0.3.0 → 0.4.0
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.
- data/Gemfile.lock +22 -21
- data/lib/tddium_client.rb +22 -10
- data/lib/tddium_client/version.rb +1 -1
- data/spec/spec_helper.rb +24 -3
- data/spec/tddium_client_spec.rb +24 -24
- data/tddium_client.gemspec +2 -2
- metadata +124 -92
data/Gemfile.lock
CHANGED
@@ -1,47 +1,48 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
tddium_client (0.
|
5
|
-
|
4
|
+
tddium_client (0.4.0)
|
5
|
+
httpclient (>= 2.2.5)
|
6
6
|
json
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
|
+
addressable (2.2.8)
|
12
|
+
crack (0.3.1)
|
11
13
|
diff-lcs (1.1.3)
|
12
14
|
fakefs (0.4.0)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
json (1.6.1)
|
18
|
-
multi_json (1.0.3)
|
19
|
-
multi_xml (0.4.1)
|
20
|
-
rack (1.3.5)
|
15
|
+
httpclient (2.2.5)
|
16
|
+
json (1.7.4)
|
17
|
+
multi_json (1.3.6)
|
18
|
+
rack (1.4.1)
|
21
19
|
rack-test (0.6.1)
|
22
20
|
rack (>= 1.0)
|
23
21
|
rake (0.9.2.2)
|
24
|
-
rspec (2.
|
25
|
-
rspec-core (~> 2.
|
26
|
-
rspec-expectations (~> 2.
|
27
|
-
rspec-mocks (~> 2.
|
28
|
-
rspec-core (2.
|
29
|
-
rspec-expectations (2.
|
30
|
-
diff-lcs (~> 1.1.
|
31
|
-
rspec-mocks (2.
|
32
|
-
simplecov (0.
|
33
|
-
multi_json (~> 1.0
|
22
|
+
rspec (2.11.0)
|
23
|
+
rspec-core (~> 2.11.0)
|
24
|
+
rspec-expectations (~> 2.11.0)
|
25
|
+
rspec-mocks (~> 2.11.0)
|
26
|
+
rspec-core (2.11.1)
|
27
|
+
rspec-expectations (2.11.2)
|
28
|
+
diff-lcs (~> 1.1.3)
|
29
|
+
rspec-mocks (2.11.2)
|
30
|
+
simplecov (0.6.4)
|
31
|
+
multi_json (~> 1.0)
|
34
32
|
simplecov-html (~> 0.5.3)
|
35
33
|
simplecov-html (0.5.3)
|
34
|
+
webmock (1.8.8)
|
35
|
+
addressable (~> 2.2.8)
|
36
|
+
crack (>= 0.1.7)
|
36
37
|
|
37
38
|
PLATFORMS
|
38
39
|
ruby
|
39
40
|
|
40
41
|
DEPENDENCIES
|
41
42
|
fakefs
|
42
|
-
fakeweb
|
43
43
|
rack-test
|
44
44
|
rake
|
45
45
|
rspec
|
46
46
|
simplecov
|
47
47
|
tddium_client!
|
48
|
+
webmock
|
data/lib/tddium_client.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# Copyright (c) 2011, 2012 Solano Labs All Rights Reserved
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require 'httparty'
|
5
4
|
require 'json'
|
5
|
+
require 'httpclient'
|
6
6
|
require 'securerandom'
|
7
7
|
require File.expand_path("../tddium_client/version", __FILE__)
|
8
8
|
|
9
9
|
module TddiumClient
|
10
|
-
API_KEY_HEADER = "X-
|
11
|
-
CLIENT_VERSION_HEADER = "X-
|
10
|
+
API_KEY_HEADER = "X-Tddium-Api-Key"
|
11
|
+
CLIENT_VERSION_HEADER = "X-Tddium-Client-Version"
|
12
12
|
API_ERROR_TEXT = "An error occured: "
|
13
13
|
|
14
14
|
module Error
|
@@ -28,7 +28,8 @@ module TddiumClient
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def http_message
|
31
|
-
http_response.
|
31
|
+
v = http_response.header.send(:reason_phrase)
|
32
|
+
return v
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
@@ -102,11 +103,10 @@ module TddiumClient
|
|
102
103
|
end
|
103
104
|
|
104
105
|
class InternalClient
|
105
|
-
|
106
|
+
attr_reader :client
|
106
107
|
|
107
|
-
|
108
|
-
|
109
|
-
def initialize(host, port=nil, scheme='https', version=1, caller_version=nil)
|
108
|
+
def initialize(host, port=nil, scheme='https', version=1, caller_version=nil, options={})
|
109
|
+
@client = HTTPClient.new
|
110
110
|
@tddium_config = {"host" => host,
|
111
111
|
"port" => port,
|
112
112
|
"scheme" => scheme,
|
@@ -125,9 +125,11 @@ module TddiumClient
|
|
125
125
|
tries = 0
|
126
126
|
|
127
127
|
begin
|
128
|
-
http =
|
128
|
+
http = @client.send(method, tddium_uri(api_path), :body => call_params.to_json, :header => headers)
|
129
129
|
rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT, Timeout::Error, OpenSSL::SSL::SSLError, OpenSSL::SSL::Session::SessionError
|
130
130
|
tries += 1
|
131
|
+
delay = (tries>>1)*0.05*rand()
|
132
|
+
Kernel.sleep(delay)
|
131
133
|
retry if retries > 0 && tries <= retries
|
132
134
|
end
|
133
135
|
|
@@ -173,10 +175,12 @@ module TddiumClient
|
|
173
175
|
class Client < InternalClient
|
174
176
|
attr_reader :environment
|
175
177
|
|
176
|
-
def initialize(env = :development, caller_version=nil)
|
178
|
+
def initialize(env = :development, caller_version=nil, options={})
|
177
179
|
@all_config = YAML.load(File.read(config_path))
|
178
180
|
self.environment = env.to_s
|
179
181
|
self.caller_version = caller_version
|
182
|
+
|
183
|
+
super(host, port, scheme, version, caller_version, options)
|
180
184
|
end
|
181
185
|
|
182
186
|
def environment=(new_environment)
|
@@ -198,6 +202,14 @@ module TddiumClient
|
|
198
202
|
@tddium_config["port"]
|
199
203
|
end
|
200
204
|
|
205
|
+
def scheme
|
206
|
+
@tddium_config["scheme"]
|
207
|
+
end
|
208
|
+
|
209
|
+
def version
|
210
|
+
@tddium_config["version"]
|
211
|
+
end
|
212
|
+
|
201
213
|
private
|
202
214
|
|
203
215
|
def config_path
|
data/spec/spec_helper.rb
CHANGED
@@ -6,13 +6,34 @@ require "simplecov"
|
|
6
6
|
SimpleCov.start
|
7
7
|
require "tddium_client"
|
8
8
|
require "rspec"
|
9
|
-
require "fakeweb"
|
10
9
|
require "rack/test"
|
10
|
+
require "webmock/rspec"
|
11
11
|
require "fakefs/spec_helpers"
|
12
12
|
require "tddium_client/tddium_spec_helpers"
|
13
13
|
|
14
|
-
FakeWeb.allow_net_connect = false
|
15
|
-
|
16
14
|
def fixture_path(fixture_name)
|
17
15
|
File.join File.dirname(__FILE__), "fixtures", fixture_name
|
18
16
|
end
|
17
|
+
|
18
|
+
def fixture_data(fixture_name)
|
19
|
+
path = File.join File.dirname(__FILE__), "fixtures", fixture_name
|
20
|
+
FakeFS.deactivate!
|
21
|
+
data = File.read(path)
|
22
|
+
FakeFS.activate!
|
23
|
+
return data
|
24
|
+
end
|
25
|
+
|
26
|
+
module LastRequest
|
27
|
+
def last_request
|
28
|
+
@last_request
|
29
|
+
end
|
30
|
+
|
31
|
+
def last_request=(request_signature)
|
32
|
+
@last_request = request_signature
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
WebMock.extend(LastRequest)
|
37
|
+
WebMock.after_request do |request_signature, response|
|
38
|
+
WebMock.last_request = request_signature
|
39
|
+
end
|
data/spec/tddium_client_spec.rb
CHANGED
@@ -22,16 +22,16 @@ describe "TddiumClient" do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def stub_http_message(message = "Unauthorized")
|
25
|
-
http_response.stub_chain(:
|
25
|
+
http_response.stub_chain(:header, :reason_phrase).and_return(message)
|
26
26
|
end
|
27
27
|
|
28
28
|
describe "Response" do
|
29
29
|
|
30
30
|
shared_examples_for "base" do
|
31
31
|
describe "#http_code" do
|
32
|
-
before {stub_http_code(
|
32
|
+
before {stub_http_code(200)}
|
33
33
|
it "should return the http status code from the response" do
|
34
|
-
base.http_code.should ==
|
34
|
+
base.http_code.should == 200
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -222,12 +222,12 @@ describe "TddiumClient" do
|
|
222
222
|
|
223
223
|
def stub_http_response(method, path, options = {})
|
224
224
|
uri = api_uri(path)
|
225
|
-
|
225
|
+
stub_request(method, uri).to_return(options)
|
226
226
|
end
|
227
227
|
|
228
228
|
def parse_request_params
|
229
229
|
#Rack::Utils.parse_nested_query(FakeWeb.last_request.body)
|
230
|
-
JSON.parse(
|
230
|
+
JSON.parse(WebMock.last_request.body)
|
231
231
|
end
|
232
232
|
|
233
233
|
let(:tddium_client) { TddiumClient::Client.new }
|
@@ -263,32 +263,32 @@ describe "TddiumClient" do
|
|
263
263
|
|
264
264
|
describe "#call_api" do
|
265
265
|
before do
|
266
|
-
|
266
|
+
WebMock.reset!
|
267
267
|
stub_tddium_client_config
|
268
|
-
stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE,
|
268
|
+
stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, fixture_data("post_suites_201.json"))
|
269
269
|
end
|
270
270
|
|
271
271
|
context "('#{EXAMPLE_HTTP_METHOD}', '#{EXAMPLE_TDDIUM_RESOURCE}')" do
|
272
272
|
it "should make a '#{EXAMPLE_HTTP_METHOD.to_s.upcase}' request to the api" do
|
273
273
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE)
|
274
|
-
|
274
|
+
WebMock.last_request.method.downcase.to_sym.should == EXAMPLE_HTTP_METHOD
|
275
275
|
end
|
276
276
|
|
277
277
|
it "should make a request to the correct resource" do
|
278
278
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE)
|
279
|
-
|
279
|
+
WebMock.last_request.uri.path.should =~ /#{EXAMPLE_TDDIUM_RESOURCE}$/
|
280
280
|
end
|
281
281
|
end
|
282
282
|
|
283
283
|
shared_examples_for "retry on exception" do
|
284
|
-
before {
|
284
|
+
before { tddium_client.client.stub(EXAMPLE_HTTP_METHOD).and_raise(raised_exception) }
|
285
285
|
it "should retry 5 times by default to contact the API" do
|
286
|
-
|
286
|
+
tddium_client.client.should_receive(EXAMPLE_HTTP_METHOD).exactly(6).times
|
287
287
|
expect { tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE) }.to raise_error(TddiumClient::Error::Timeout)
|
288
288
|
end
|
289
289
|
|
290
290
|
it "should retry as many times as we want to contact the API" do
|
291
|
-
|
291
|
+
tddium_client.client.should_receive(EXAMPLE_HTTP_METHOD).exactly(3).times
|
292
292
|
expect { tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, {}, nil, 2) }.to raise_error(TddiumClient::Error::Timeout)
|
293
293
|
end
|
294
294
|
end
|
@@ -314,16 +314,16 @@ describe "TddiumClient" do
|
|
314
314
|
context "('#{EXAMPLE_HTTP_METHOD}', '#{EXAMPLE_TDDIUM_RESOURCE}', {}, #{EXAMPLE_API_KEY}) # with api_key" do
|
315
315
|
it "should include #{TddiumClient::API_KEY_HEADER}=#{EXAMPLE_API_KEY} in the request headers" do
|
316
316
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, {}, EXAMPLE_API_KEY)
|
317
|
-
|
318
|
-
|
317
|
+
WebMock.last_request.headers[TddiumClient::API_KEY_HEADER].should == EXAMPLE_API_KEY
|
318
|
+
WebMock.last_request.headers[TddiumClient::CLIENT_VERSION_HEADER].should =~ /#{TddiumClient::VERSION}/
|
319
319
|
end
|
320
320
|
end
|
321
321
|
|
322
322
|
context "('#{EXAMPLE_HTTP_METHOD}', '#{EXAMPLE_TDDIUM_RESOURCE}') # without api_key" do
|
323
323
|
it "should not include #{TddiumClient::API_KEY_HEADER} in the request headers" do
|
324
324
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, {})
|
325
|
-
|
326
|
-
|
325
|
+
WebMock.last_request.headers[TddiumClient::API_KEY_HEADER].should be_nil
|
326
|
+
WebMock.last_request.headers[TddiumClient::CLIENT_VERSION_HEADER].should =~ /#{TddiumClient::VERSION}/
|
327
327
|
end
|
328
328
|
end
|
329
329
|
|
@@ -332,8 +332,8 @@ describe "TddiumClient" do
|
|
332
332
|
ver = "tddium-preview-0.8.1"
|
333
333
|
tddium_client.caller_version = ver
|
334
334
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, {})
|
335
|
-
|
336
|
-
|
335
|
+
WebMock.last_request.headers[TddiumClient::API_KEY_HEADER].should be_nil
|
336
|
+
WebMock.last_request.headers[TddiumClient::CLIENT_VERSION_HEADER].should =~ /#{TddiumClient::VERSION};#{ver}/
|
337
337
|
end
|
338
338
|
end
|
339
339
|
|
@@ -348,19 +348,19 @@ describe "TddiumClient" do
|
|
348
348
|
it "should not include any request params" do
|
349
349
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE)
|
350
350
|
params = parse_request_params
|
351
|
-
|
352
|
-
|
353
|
-
|
351
|
+
params.member?('xid').should be_true
|
352
|
+
params.delete('xid')
|
353
|
+
params.should == {}
|
354
354
|
end
|
355
355
|
end
|
356
356
|
|
357
357
|
context "results in a successful response" do
|
358
358
|
before do
|
359
|
-
stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE,
|
359
|
+
stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, fixture_data("post_suites_201.json"))
|
360
360
|
end
|
361
361
|
|
362
362
|
it "should try to contact the api only once" do
|
363
|
-
|
363
|
+
tddium_client.client.should_receive(EXAMPLE_HTTP_METHOD).exactly(1).times.and_return(mock(HTTPClient).as_null_object)
|
364
364
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, {}, nil) rescue {}
|
365
365
|
end
|
366
366
|
|
@@ -386,7 +386,7 @@ describe "TddiumClient" do
|
|
386
386
|
end
|
387
387
|
|
388
388
|
context "where the http request was successful but API status is not 0" do
|
389
|
-
before { stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE,
|
389
|
+
before { stub_http_response(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE, fixture_data("post_suites_269_json_status_1.json")) }
|
390
390
|
|
391
391
|
it "should raise a TddiumClient::Error::API Error" do
|
392
392
|
expect { tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE) }.to raise_error(TddiumClient::Error::API)
|
data/tddium_client.gemspec
CHANGED
@@ -23,11 +23,11 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
24
|
s.require_paths = ["lib"]
|
25
25
|
|
26
|
-
s.add_runtime_dependency("
|
26
|
+
s.add_runtime_dependency("httpclient", ">= 2.2.5")
|
27
27
|
s.add_runtime_dependency("json")
|
28
28
|
|
29
29
|
s.add_development_dependency("rspec")
|
30
|
-
s.add_development_dependency("
|
30
|
+
s.add_development_dependency("webmock")
|
31
31
|
s.add_development_dependency("fakefs")
|
32
32
|
s.add_development_dependency("rack-test")
|
33
33
|
s.add_development_dependency("simplecov")
|
metadata
CHANGED
@@ -1,115 +1,151 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tddium_client
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.3.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Jay Moorthi
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
prerelease: false
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-08-14 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: httpclient
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.2.5
|
24
22
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: json
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.2.5
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
30
33
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
35
38
|
type: :runtime
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: rspec
|
39
39
|
prerelease: false
|
40
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
46
54
|
type: :development
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: fakeweb
|
50
55
|
prerelease: false
|
51
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: webmock
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
52
65
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
57
70
|
type: :development
|
58
|
-
version_requirements: *id004
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: fakefs
|
61
71
|
prerelease: false
|
62
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: fakefs
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
63
81
|
none: false
|
64
|
-
requirements:
|
65
|
-
- -
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version:
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
68
86
|
type: :development
|
69
|
-
version_requirements: *id005
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rack-test
|
72
87
|
prerelease: false
|
73
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rack-test
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
74
97
|
none: false
|
75
|
-
requirements:
|
76
|
-
- -
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version:
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
79
102
|
type: :development
|
80
|
-
version_requirements: *id006
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: simplecov
|
83
103
|
prerelease: false
|
84
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: simplecov
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
85
113
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version:
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
90
118
|
type: :development
|
91
|
-
version_requirements: *id007
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: rake
|
94
119
|
prerelease: false
|
95
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rake
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
96
129
|
none: false
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version:
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
101
134
|
type: :development
|
102
|
-
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
103
142
|
description: Internal Gem used to call the Tddium API
|
104
|
-
email:
|
143
|
+
email:
|
105
144
|
- info@tddium.com
|
106
145
|
executables: []
|
107
|
-
|
108
146
|
extensions: []
|
109
|
-
|
110
147
|
extra_rdoc_files: []
|
111
|
-
|
112
|
-
files:
|
148
|
+
files:
|
113
149
|
- .gitignore
|
114
150
|
- .rspec
|
115
151
|
- Gemfile
|
@@ -129,30 +165,26 @@ files:
|
|
129
165
|
- tddium_client.gemspec
|
130
166
|
homepage: http://www.tddium.com/
|
131
167
|
licenses: []
|
132
|
-
|
133
168
|
post_install_message:
|
134
169
|
rdoc_options: []
|
135
|
-
|
136
|
-
require_paths:
|
170
|
+
require_paths:
|
137
171
|
- lib
|
138
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
172
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
173
|
none: false
|
140
|
-
requirements:
|
141
|
-
- -
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version:
|
144
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - ! '>='
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
179
|
none: false
|
146
|
-
requirements:
|
147
|
-
- -
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version:
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
150
184
|
requirements: []
|
151
|
-
|
152
185
|
rubyforge_project: tddium_client
|
153
186
|
rubygems_version: 1.8.24
|
154
187
|
signing_key:
|
155
188
|
specification_version: 3
|
156
189
|
summary: tddium Client Gem
|
157
190
|
test_files: []
|
158
|
-
|