api_client_builder 1.3.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 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: []