api_client_builder 1.0.0 → 1.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.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/.rubocop.yml +34 -0
- data/.travis.yml +20 -0
- data/Gemfile +6 -0
- data/Jenkinsfile +13 -0
- data/LICENSE.txt +22 -0
- data/{readme.md → README.md} +65 -50
- data/api_client_builder.gemspec +15 -13
- data/build.sh +16 -0
- data/lib/api_client_builder.rb +14 -0
- data/lib/api_client_builder/api_client.rb +96 -0
- data/lib/api_client_builder/delete_request.rb +19 -0
- data/lib/api_client_builder/get_collection_request.rb +43 -0
- data/lib/api_client_builder/get_item_request.rb +27 -0
- data/lib/api_client_builder/post_request.rb +19 -0
- data/lib/api_client_builder/put_request.rb +19 -0
- data/lib/api_client_builder/request.rb +66 -0
- data/lib/api_client_builder/response.rb +32 -0
- data/lib/api_client_builder/url_generator.rb +37 -0
- data/lib/api_client_builder/version.rb +3 -0
- data/spec/lib/api_client_builder/api_client_spec.rb +13 -4
- data/spec/lib/api_client_builder/delete_request_spec.rb +29 -0
- data/spec/lib/api_client_builder/get_collection_request_spec.rb +7 -10
- data/spec/lib/api_client_builder/get_item_request_spec.rb +4 -6
- data/spec/lib/api_client_builder/post_request_spec.rb +3 -5
- data/spec/lib/api_client_builder/put_request_spec.rb +3 -5
- data/spec/lib/api_client_builder/request_spec.rb +7 -9
- data/spec/lib/api_client_builder/response_spec.rb +1 -2
- data/spec/lib/api_client_builder/test_client/client.rb +3 -3
- data/spec/lib/api_client_builder/test_client/http_client_handler.rb +1 -2
- data/spec/lib/api_client_builder/test_client/response_handler.rb +13 -14
- data/spec/lib/api_client_builder/url_generator_spec.rb +29 -7
- data/spec/spec_helper.rb +8 -2
- metadata +51 -31
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
require 'lib/api_client_builder/test_client/client'
|
|
2
|
+
require_relative 'test_client/client'
|
|
4
3
|
|
|
5
4
|
module APIClientBuilder
|
|
6
5
|
describe GetItemRequest do
|
|
@@ -21,9 +20,8 @@ module APIClientBuilder
|
|
|
21
20
|
bad_response = APIClientBuilder::Response.new('bad request', 500, [200])
|
|
22
21
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:get_first_page).and_return(bad_response)
|
|
23
22
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:retry_request).and_return(bad_response)
|
|
24
|
-
expect{ client.get_some_object(some_id: '123').response }.to raise_error(
|
|
25
|
-
APIClientBuilder::DefaultPageError,
|
|
26
|
-
"Default error for bad response. If you want to handle this error use #on_error on the response in your api consumer. Error Code: 500"
|
|
23
|
+
expect { client.get_some_object(some_id: '123').response }.to raise_error(
|
|
24
|
+
APIClientBuilder::DefaultPageError, /Error Code: 500/
|
|
27
25
|
)
|
|
28
26
|
end
|
|
29
27
|
|
|
@@ -32,7 +30,7 @@ module APIClientBuilder
|
|
|
32
30
|
client = TestClient::Client.new(domain: 'https://www.domain.com/api/endpoints/')
|
|
33
31
|
|
|
34
32
|
bad_response = APIClientBuilder::Response.new('bad request', 500, [200])
|
|
35
|
-
good_response = APIClientBuilder::Response.new([1,2,3], 200, [200])
|
|
33
|
+
good_response = APIClientBuilder::Response.new([1, 2, 3], 200, [200])
|
|
36
34
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:get_first_page).and_return(bad_response)
|
|
37
35
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:more_pages?).and_return(false)
|
|
38
36
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:retry_request).and_return(good_response)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
require 'lib/api_client_builder/test_client/client'
|
|
2
|
+
require_relative 'test_client/client'
|
|
4
3
|
|
|
5
4
|
module APIClientBuilder
|
|
6
5
|
describe PostRequest do
|
|
@@ -20,9 +19,8 @@ module APIClientBuilder
|
|
|
20
19
|
|
|
21
20
|
bad_response = APIClientBuilder::Response.new('bad request', 400, [200])
|
|
22
21
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:post_request).and_return(bad_response)
|
|
23
|
-
expect{ client.post_some_object({}).response }.to raise_error(
|
|
24
|
-
APIClientBuilder::DefaultPageError,
|
|
25
|
-
"Default error for bad response. If you want to handle this error use #on_error on the response in your api consumer. Error Code: 400"
|
|
22
|
+
expect { client.post_some_object({}).response }.to raise_error(
|
|
23
|
+
APIClientBuilder::DefaultPageError, /Error Code: 400/
|
|
26
24
|
)
|
|
27
25
|
end
|
|
28
26
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
require 'lib/api_client_builder/test_client/client'
|
|
2
|
+
require_relative 'test_client/client'
|
|
4
3
|
|
|
5
4
|
module APIClientBuilder
|
|
6
5
|
describe PutRequest do
|
|
@@ -20,9 +19,8 @@ module APIClientBuilder
|
|
|
20
19
|
|
|
21
20
|
bad_response = APIClientBuilder::Response.new('bad request', 400, [200])
|
|
22
21
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:put_request).and_return(bad_response)
|
|
23
|
-
expect{ client.put_some_object({}).response }.to raise_error(
|
|
24
|
-
APIClientBuilder::DefaultPageError,
|
|
25
|
-
"Default error for bad response. If you want to handle this error use #on_error on the response in your api consumer. Error Code: 400"
|
|
22
|
+
expect { client.put_some_object({}).response }.to raise_error(
|
|
23
|
+
APIClientBuilder::DefaultPageError, /Error Code: 400/
|
|
26
24
|
)
|
|
27
25
|
end
|
|
28
26
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
require 'api_client_builder/request'
|
|
2
|
+
require_relative 'test_client/client'
|
|
4
3
|
|
|
5
4
|
module APIClientBuilder
|
|
6
5
|
describe Request do
|
|
@@ -12,9 +11,8 @@ module APIClientBuilder
|
|
|
12
11
|
bad_response = APIClientBuilder::Response.new('bad request', 400, [200])
|
|
13
12
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:get_first_page).and_return(bad_response)
|
|
14
13
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:retry_request).and_return(bad_response)
|
|
15
|
-
expect{ client.get_some_object(some_id: '123').response }.to raise_error(
|
|
16
|
-
APIClientBuilder::DefaultPageError,
|
|
17
|
-
"Default error for bad response. If you want to handle this error use #on_error on the response in your api consumer. Error Code: 400"
|
|
14
|
+
expect { client.get_some_object(some_id: '123').response }.to raise_error(
|
|
15
|
+
APIClientBuilder::DefaultPageError, /Error Code: 400/
|
|
18
16
|
)
|
|
19
17
|
end
|
|
20
18
|
end
|
|
@@ -28,13 +26,13 @@ module APIClientBuilder
|
|
|
28
26
|
allow_any_instance_of(TestClient::ResponseHandler).to receive(:retry_request).and_return(bad_response)
|
|
29
27
|
object_response = client.get_some_object(some_id: '123')
|
|
30
28
|
|
|
31
|
-
object_response.on_error do |
|
|
32
|
-
raise StandardError,
|
|
29
|
+
object_response.on_error do |_page, _response|
|
|
30
|
+
raise StandardError, 'Something Bad Happened'
|
|
33
31
|
end
|
|
34
32
|
|
|
35
|
-
expect{object_response.response}.to raise_error(
|
|
33
|
+
expect { object_response.response }.to raise_error(
|
|
36
34
|
StandardError,
|
|
37
|
-
|
|
35
|
+
'Something Bad Happened'
|
|
38
36
|
)
|
|
39
37
|
end
|
|
40
38
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
require 'api_client_builder/response'
|
|
3
2
|
|
|
4
3
|
module APIClientBuilder
|
|
5
4
|
describe Response do
|
|
@@ -18,7 +17,7 @@ module APIClientBuilder
|
|
|
18
17
|
|
|
19
18
|
it 'returns false when the response is otherwise marked as failed' do
|
|
20
19
|
page = Response.new([], 200, [200])
|
|
21
|
-
page.mark_failed
|
|
20
|
+
page.mark_failed 'Something happened'
|
|
22
21
|
|
|
23
22
|
expect(page.success?).to eq(false)
|
|
24
23
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require 'lib/api_client_builder/test_client/http_client_handler'
|
|
1
|
+
require_relative 'response_handler'
|
|
2
|
+
require_relative 'http_client_handler'
|
|
4
3
|
|
|
5
4
|
module TestClient
|
|
6
5
|
class Client < APIClientBuilder::APIClient
|
|
@@ -18,5 +17,6 @@ module TestClient
|
|
|
18
17
|
|
|
19
18
|
post :some_object, 'some/post/url'
|
|
20
19
|
put :some_object, 'som/put/url'
|
|
20
|
+
delete :some_object, 'som/delete/url'
|
|
21
21
|
end
|
|
22
22
|
end
|
|
@@ -1,36 +1,37 @@
|
|
|
1
|
-
require 'api_client_builder/response'
|
|
2
|
-
|
|
3
1
|
module TestClient
|
|
4
2
|
class ResponseHandler
|
|
5
3
|
SUCCESS_STATUS = 200
|
|
6
|
-
SUCCESS_RANGE = [200]
|
|
4
|
+
SUCCESS_RANGE = [200].freeze
|
|
7
5
|
MAX_RETRIES = 4
|
|
8
6
|
|
|
9
|
-
def initialize(
|
|
7
|
+
def initialize(_client, _start_url, _type, **_opts)
|
|
10
8
|
@retries = 0
|
|
11
9
|
end
|
|
12
10
|
|
|
13
11
|
def get_first_page
|
|
14
12
|
@current_page = 0
|
|
15
|
-
APIClientBuilder::Response.new([1,2,3], SUCCESS_STATUS, SUCCESS_RANGE)
|
|
13
|
+
APIClientBuilder::Response.new([1, 2, 3], SUCCESS_STATUS, SUCCESS_RANGE)
|
|
16
14
|
end
|
|
17
15
|
|
|
18
16
|
def get_next_page
|
|
19
17
|
@current_page += 1
|
|
20
|
-
APIClientBuilder::Response.new([4,5,6], SUCCESS_STATUS, SUCCESS_RANGE)
|
|
18
|
+
APIClientBuilder::Response.new([4, 5, 6], SUCCESS_STATUS, SUCCESS_RANGE)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def delete_request
|
|
22
|
+
APIClientBuilder::Response.new('good delete request', SUCCESS_STATUS, SUCCESS_RANGE)
|
|
21
23
|
end
|
|
22
24
|
|
|
23
|
-
def put_request(
|
|
25
|
+
def put_request(_body)
|
|
24
26
|
APIClientBuilder::Response.new('good request', SUCCESS_STATUS, SUCCESS_RANGE)
|
|
25
27
|
end
|
|
26
28
|
|
|
27
|
-
def post_request(
|
|
29
|
+
def post_request(_body)
|
|
28
30
|
APIClientBuilder::Response.new('good request', SUCCESS_STATUS, SUCCESS_RANGE)
|
|
29
31
|
end
|
|
30
32
|
|
|
31
33
|
def more_pages?
|
|
32
|
-
|
|
33
|
-
return true
|
|
34
|
+
@current_page < 2
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
def retryable?(status_code)
|
|
@@ -38,10 +39,8 @@ module TestClient
|
|
|
38
39
|
status_code != 400 && @retries < MAX_RETRIES
|
|
39
40
|
end
|
|
40
41
|
|
|
41
|
-
def retry_request
|
|
42
|
-
end
|
|
42
|
+
def retry_request; end
|
|
43
43
|
|
|
44
|
-
def reset_retries
|
|
45
|
-
end
|
|
44
|
+
def reset_retries; end
|
|
46
45
|
end
|
|
47
46
|
end
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
require 'api_client_builder/url_generator'
|
|
3
2
|
|
|
4
3
|
module APIClientBuilder
|
|
5
4
|
describe URLGenerator do
|
|
6
5
|
describe '#build_route' do
|
|
7
6
|
context 'route with colon params and matching keys' do
|
|
8
7
|
it 'replaces to route keys with their respective values' do
|
|
9
|
-
url_generator = URLGenerator.new(
|
|
8
|
+
url_generator = URLGenerator.new('https://www.domain.com/api/endpoints/')
|
|
10
9
|
|
|
11
10
|
route = url_generator.build_route(
|
|
12
11
|
'object_one/:object_one_id/:object_one_id/route_to_object/:other_object_id/object',
|
|
@@ -16,16 +15,39 @@ module APIClientBuilder
|
|
|
16
15
|
|
|
17
16
|
expect(route).to eq(URI.parse('https://www.domain.com/api/endpoints/object_one/4/4/route_to_object/10/object'))
|
|
18
17
|
end
|
|
18
|
+
|
|
19
|
+
it 'replaces to route keys with their respective values in embedded params' do
|
|
20
|
+
url_generator = URLGenerator.new('https://www.domain.com/api/endpoints/')
|
|
21
|
+
|
|
22
|
+
route = url_generator.build_route(
|
|
23
|
+
'object_one/:object_one_id/:object_one_id/object&as_user_id=:user_object_id',
|
|
24
|
+
object_one_id: '4',
|
|
25
|
+
user_object_id: '1'
|
|
26
|
+
)
|
|
27
|
+
expect(route).to eq(URI.parse('https://www.domain.com/api/endpoints/object_one/4/4/object&as_user_id=1'))
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'encodes the URI correctly' do
|
|
31
|
+
url_generator = URLGenerator.new('https://www.domain.com/api/endpoints/')
|
|
32
|
+
|
|
33
|
+
route = url_generator.build_route(
|
|
34
|
+
'route_to_object/:object_id/object',
|
|
35
|
+
object_id: "\u1F4a9"
|
|
36
|
+
)
|
|
37
|
+
expect(route).to eq(URI.parse('https://www.domain.com/api/endpoints/route_to_object/%E1%BD%8A9/object'))
|
|
38
|
+
end
|
|
19
39
|
end
|
|
20
40
|
|
|
21
41
|
context 'route with colon params and non matching keys' do
|
|
22
42
|
it 'raises an argument error' do
|
|
23
|
-
url_generator = URLGenerator.new(
|
|
43
|
+
url_generator = URLGenerator.new('https://www.domain.com/api/endpoints/')
|
|
24
44
|
|
|
25
|
-
expect
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
45
|
+
expect do
|
|
46
|
+
url_generator.build_route(
|
|
47
|
+
'object_one/:object_one_id/:object_one_id/route_to_object/:other_object_id/object',
|
|
48
|
+
other_object_id: '10'
|
|
49
|
+
)
|
|
50
|
+
end.to raise_error(ArgumentError, 'Param :object_one_id is required')
|
|
29
51
|
end
|
|
30
52
|
end
|
|
31
53
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
require 'simplecov'
|
|
2
|
+
SimpleCov.start do
|
|
3
|
+
add_filter 'lib/api_client_builder/version.rb'
|
|
4
|
+
add_filter 'spec'
|
|
5
|
+
track_files 'lib/**/*.rb'
|
|
6
|
+
end
|
|
7
|
+
SimpleCov.minimum_coverage(97)
|
|
8
|
+
|
|
1
9
|
require 'bundler/setup'
|
|
2
10
|
require 'api_client_builder'
|
|
3
|
-
|
|
4
|
-
SPEC_DIR = File.dirname(__FILE__)
|
metadata
CHANGED
|
@@ -1,55 +1,69 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: api_client_builder
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jayce Higgins
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pry
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '0'
|
|
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: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rspec
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '3.7'
|
|
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
|
-
version: '
|
|
40
|
+
version: '3.7'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rubocop
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 0.57.2
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 0.57.2
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
56
|
+
name: simplecov
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
44
58
|
requirements:
|
|
45
|
-
- -
|
|
59
|
+
- - "~>"
|
|
46
60
|
- !ruby/object:Gem::Version
|
|
47
61
|
version: '0'
|
|
48
62
|
type: :development
|
|
49
63
|
prerelease: false
|
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
65
|
requirements:
|
|
52
|
-
- -
|
|
66
|
+
- - "~>"
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
68
|
version: '0'
|
|
55
69
|
description: API Client Builder provides an easy to use interface for creating HTTP
|
|
@@ -61,9 +75,28 @@ executables: []
|
|
|
61
75
|
extensions: []
|
|
62
76
|
extra_rdoc_files: []
|
|
63
77
|
files:
|
|
78
|
+
- ".gitignore"
|
|
79
|
+
- ".rubocop.yml"
|
|
80
|
+
- ".travis.yml"
|
|
81
|
+
- Gemfile
|
|
82
|
+
- Jenkinsfile
|
|
83
|
+
- LICENSE.txt
|
|
84
|
+
- README.md
|
|
64
85
|
- api_client_builder.gemspec
|
|
65
|
-
-
|
|
86
|
+
- build.sh
|
|
87
|
+
- lib/api_client_builder.rb
|
|
88
|
+
- lib/api_client_builder/api_client.rb
|
|
89
|
+
- lib/api_client_builder/delete_request.rb
|
|
90
|
+
- lib/api_client_builder/get_collection_request.rb
|
|
91
|
+
- lib/api_client_builder/get_item_request.rb
|
|
92
|
+
- lib/api_client_builder/post_request.rb
|
|
93
|
+
- lib/api_client_builder/put_request.rb
|
|
94
|
+
- lib/api_client_builder/request.rb
|
|
95
|
+
- lib/api_client_builder/response.rb
|
|
96
|
+
- lib/api_client_builder/url_generator.rb
|
|
97
|
+
- lib/api_client_builder/version.rb
|
|
66
98
|
- spec/lib/api_client_builder/api_client_spec.rb
|
|
99
|
+
- spec/lib/api_client_builder/delete_request_spec.rb
|
|
67
100
|
- spec/lib/api_client_builder/get_collection_request_spec.rb
|
|
68
101
|
- spec/lib/api_client_builder/get_item_request_spec.rb
|
|
69
102
|
- spec/lib/api_client_builder/post_request_spec.rb
|
|
@@ -75,7 +108,7 @@ files:
|
|
|
75
108
|
- spec/lib/api_client_builder/test_client/response_handler.rb
|
|
76
109
|
- spec/lib/api_client_builder/url_generator_spec.rb
|
|
77
110
|
- spec/spec_helper.rb
|
|
78
|
-
homepage:
|
|
111
|
+
homepage: https://github.com/instructure/api-client-builder
|
|
79
112
|
licenses:
|
|
80
113
|
- MIT
|
|
81
114
|
metadata: {}
|
|
@@ -85,31 +118,18 @@ require_paths:
|
|
|
85
118
|
- lib
|
|
86
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
120
|
requirements:
|
|
88
|
-
- -
|
|
121
|
+
- - ">="
|
|
89
122
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '2.
|
|
123
|
+
version: '2.3'
|
|
91
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
125
|
requirements:
|
|
93
|
-
- -
|
|
126
|
+
- - ">="
|
|
94
127
|
- !ruby/object:Gem::Version
|
|
95
128
|
version: '0'
|
|
96
129
|
requirements: []
|
|
97
|
-
|
|
98
|
-
rubygems_version: 2.0.14
|
|
130
|
+
rubygems_version: 3.0.3
|
|
99
131
|
signing_key:
|
|
100
132
|
specification_version: 4
|
|
101
133
|
summary: API Client Builder provides an easy to use interface for creating HTTP api
|
|
102
134
|
clients
|
|
103
|
-
test_files:
|
|
104
|
-
- spec/lib/api_client_builder/api_client_spec.rb
|
|
105
|
-
- spec/lib/api_client_builder/get_collection_request_spec.rb
|
|
106
|
-
- spec/lib/api_client_builder/get_item_request_spec.rb
|
|
107
|
-
- spec/lib/api_client_builder/post_request_spec.rb
|
|
108
|
-
- spec/lib/api_client_builder/put_request_spec.rb
|
|
109
|
-
- spec/lib/api_client_builder/request_spec.rb
|
|
110
|
-
- spec/lib/api_client_builder/response_spec.rb
|
|
111
|
-
- spec/lib/api_client_builder/test_client/client.rb
|
|
112
|
-
- spec/lib/api_client_builder/test_client/http_client_handler.rb
|
|
113
|
-
- spec/lib/api_client_builder/test_client/response_handler.rb
|
|
114
|
-
- spec/lib/api_client_builder/url_generator_spec.rb
|
|
115
|
-
- spec/spec_helper.rb
|
|
135
|
+
test_files: []
|