api_client_builder 1.3.0 → 1.4.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
  SHA256:
3
- metadata.gz: 2accab064d29f0ff8f30fe57c72e1d6d4e8443e638fc118c0c3491072f4f9893
4
- data.tar.gz: 36eca023a1104ab85da81b13422b2ab0125601c0d008a398e91310697cd1b99c
3
+ metadata.gz: 61488aa64b23c4e971039af08754ac43a70277fe13cdb14ec5cc95cdc2cb4c1a
4
+ data.tar.gz: 1a14eaed9a3b913023c76e7b9788a3f8f39dea98749d299283eb5fe11d2a9d96
5
5
  SHA512:
6
- metadata.gz: 811764f10bf9810621e0148944e040123433690f7fce45e7512c9e5537e894b62b5dfb2fa96f2c45df7221c5942121879728cc488181495223bb9bb6d57162bb
7
- data.tar.gz: 39a5f07153ddaef6f2e5dbb2acb971c8f033f3d97421b915fb9b0b43a5fcc02159321c1d807c930ff934115c21ecedca74ed97c18734371694eefa71739bd1c1
6
+ metadata.gz: 6b0431c58dff83f80caffcd891a7b984982143cc829403b1b49b97889570a452ea6df1d3b216fc1d2d76e68599d2ba1f3add4101eaca2402727e3d9ddbb274ec
7
+ data.tar.gz: b717e8415fc64ffbe9de0eb2c8086c282d87b943577e1e4d5bf6e84b620594ad6de9b3ac0e89a6ac3e79c570ff4cd72d08be854ffa8dc4d819ca843d4b17be42
data/build.sh CHANGED
@@ -2,14 +2,13 @@
2
2
 
3
3
  set -e
4
4
 
5
- docker pull ruby:2.3
6
- docker pull ruby:2.4
7
5
  docker pull ruby:2.5
6
+ docker pull ruby:2.6
8
7
 
9
8
  docker run --rm -v "`pwd`:/app" -w /app --user `id -u`:`id -g` -e HOME="/tmp" "ruby:2.3" \
10
9
  /bin/sh -c "echo \"gem: --no-document\" >> ~/.gemrc && bundle install --jobs 5 --quiet && bundle exec rubocop --cache false --fail-level autocorrect"
11
10
 
12
- for version in '2.3' '2.4' '2.5'; do
11
+ for version in '2.5' '2.6'; do
13
12
  echo "Testing Ruby $version..."
14
13
  docker run --rm -v "`pwd`:/app" -w /app --user `id -u`:`id -g` \
15
14
  -e HOME="/tmp" "ruby:$version" /bin/sh -c \
@@ -28,7 +28,7 @@ module APIClientBuilder
28
28
  symboled_params.each do |param|
29
29
  value = params[param]
30
30
  raise ArgumentError, "Param :#{param} is required" unless value
31
- new_route.gsub!(":#{param}", value.to_s)
31
+ new_route.gsub!(":#{param}", CGI.escape(value.to_s))
32
32
  end
33
33
 
34
34
  @base_uri.merge(new_route)
@@ -1,3 +1,3 @@
1
1
  module APIClientBuilder
2
- VERSION = '1.3.0'.freeze
2
+ VERSION = '1.4.0'.freeze
3
3
  end
@@ -26,6 +26,16 @@ module APIClientBuilder
26
26
  )
27
27
  expect(route).to eq(URI.parse('https://www.domain.com/api/endpoints/object_one/4/4/object&as_user_id=1'))
28
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
29
39
  end
30
40
 
31
41
  context 'route with colon params and non matching keys' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_client_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
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: 2020-03-27 00:00:00.000000000 Z
11
+ date: 2021-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -127,22 +127,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 3.0.6
130
+ rubygems_version: 3.0.3
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: API Client Builder provides an easy to use interface for creating HTTP api
134
134
  clients
135
- test_files:
136
- - spec/lib/api_client_builder/api_client_spec.rb
137
- - spec/lib/api_client_builder/delete_request_spec.rb
138
- - spec/lib/api_client_builder/get_collection_request_spec.rb
139
- - spec/lib/api_client_builder/get_item_request_spec.rb
140
- - spec/lib/api_client_builder/post_request_spec.rb
141
- - spec/lib/api_client_builder/put_request_spec.rb
142
- - spec/lib/api_client_builder/request_spec.rb
143
- - spec/lib/api_client_builder/response_spec.rb
144
- - spec/lib/api_client_builder/test_client/client.rb
145
- - spec/lib/api_client_builder/test_client/http_client_handler.rb
146
- - spec/lib/api_client_builder/test_client/response_handler.rb
147
- - spec/lib/api_client_builder/url_generator_spec.rb
148
- - spec/spec_helper.rb
135
+ test_files: []