service_client 0.1.9 → 0.1.11
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 +4 -4
- data/Gemfile +8 -6
- data/Gemfile.lock +6 -8
- data/README.md +9 -15
- data/Rakefile +5 -3
- data/bin/console +4 -3
- data/lib/service_client/base.rb +2 -1
- data/lib/service_client/errors.rb +3 -1
- data/lib/service_client/response.rb +2 -1
- data/lib/service_client/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d785d79f17da59bcbc444fc44744620c695b33d9a8c659ab6dd60bf804775ae
|
4
|
+
data.tar.gz: 941d815ff71420eeab33d24a99feaf822830d99f73152850f82892b5516e365d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9388925c566cef3738b13209a1f72f81578b460c56d238d2f62434d0e6abf7987cfecfc8f0e9b9ffdf2bc8f4ed37d446a475fdc7d7d7862ebdd8362a4114f98
|
7
|
+
data.tar.gz: 4bc5b7a97d1d7406764a5ee1bbd2cb30625787c63f4f6d752feffc3ca850e2a1bac021c52c85af9d41d0dea7be06dc45b0098a320527ff163f013aa866c3cf49
|
data/Gemfile
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
# Specify your gem's dependencies in service_client.gemspec
|
4
6
|
gemspec
|
5
7
|
|
6
|
-
ruby
|
8
|
+
ruby '2.7.1'
|
7
9
|
|
8
|
-
gem
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
10
|
+
gem 'httparty', '~> 0.21.0'
|
11
|
+
gem 'rack', '~> 2.2.3'
|
12
|
+
gem 'rake', '~> 12.0'
|
13
|
+
gem 'rspec', '~> 3.0'
|
data/Gemfile.lock
CHANGED
@@ -1,19 +1,17 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
service_client (0.1.
|
5
|
-
httparty (~> 0.
|
4
|
+
service_client (0.1.10)
|
5
|
+
httparty (~> 0.21.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
diff-lcs (1.5.0)
|
11
|
-
httparty (0.
|
12
|
-
|
11
|
+
httparty (0.21.0)
|
12
|
+
mini_mime (>= 1.0.0)
|
13
13
|
multi_xml (>= 0.5.2)
|
14
|
-
|
15
|
-
mime-types-data (~> 3.2015)
|
16
|
-
mime-types-data (3.2022.0105)
|
14
|
+
mini_mime (1.1.2)
|
17
15
|
multi_xml (0.6.0)
|
18
16
|
rack (2.2.6.2)
|
19
17
|
rake (12.3.3)
|
@@ -36,7 +34,7 @@ PLATFORMS
|
|
36
34
|
|
37
35
|
DEPENDENCIES
|
38
36
|
bundler (= 2.1.4)
|
39
|
-
httparty (~> 0.
|
37
|
+
httparty (~> 0.21.0)
|
40
38
|
rack (~> 2.2.3)
|
41
39
|
rake (~> 12.0)
|
42
40
|
rspec (~> 3.0)
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
*# ServiceClient
|
2
2
|
|
3
3
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/service_client`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
4
|
|
@@ -26,9 +26,8 @@ gem install service_client
|
|
26
26
|
|
27
27
|
Basic usage example:
|
28
28
|
|
29
|
-
|
30
|
-
<
|
31
|
-
class CustomerClientServiceClient::Base
|
29
|
+
```ruby
|
30
|
+
class CustomerClient < ServiceClient::Base
|
32
31
|
base_url 'https://api.com'
|
33
32
|
default_headers content_type: 'application/json'
|
34
33
|
|
@@ -53,13 +52,11 @@ class CustomerClientServiceClient::Base
|
|
53
52
|
puts e.message
|
54
53
|
end
|
55
54
|
end
|
56
|
-
|
57
|
-
</pre>
|
55
|
+
```
|
58
56
|
|
59
57
|
## Methods of class
|
60
58
|
|
61
|
-
|
62
|
-
<code>
|
59
|
+
```ruby
|
63
60
|
# GET
|
64
61
|
ServiceClient::Base.get(url, headers:)
|
65
62
|
|
@@ -71,13 +68,11 @@ ServiceClient::Base.put(url, headers:, body:)
|
|
71
68
|
|
72
69
|
# DELETE
|
73
70
|
ServiceClient::Base.delete(url, headers:, body:)
|
74
|
-
|
75
|
-
</pre>
|
71
|
+
```
|
76
72
|
|
77
73
|
## Classes of errors
|
78
74
|
|
79
|
-
|
80
|
-
<code>
|
75
|
+
```ruby
|
81
76
|
# 400 – Bad Request
|
82
77
|
ServiceClient::Errors::BadRequestError
|
83
78
|
# 401 – Unauthorized
|
@@ -166,8 +161,7 @@ ServiceClient::Base.delete(url, headers:, body:)
|
|
166
161
|
ServiceClient::Errors::NetworkReadTimeoutError
|
167
162
|
# 599 – Network Connect Timeout Error
|
168
163
|
ServiceClient::Errors::NetworkConnectTimeoutError
|
169
|
-
|
170
|
-
</pre>
|
164
|
+
```
|
171
165
|
|
172
166
|
## Development
|
173
167
|
|
@@ -177,7 +171,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
177
171
|
|
178
172
|
## Contributing
|
179
173
|
|
180
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/nemuba/service_client
|
174
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/nemuba/service_client>.
|
181
175
|
|
182
176
|
## License
|
183
177
|
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'service_client'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "service_client"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/lib/service_client/base.rb
CHANGED
@@ -9,6 +9,7 @@ module ServiceClient
|
|
9
9
|
# @example Raise an error if any of the required params are nil.
|
10
10
|
# raise ParamsRequired, "Params: #{params_required(params)} are required" if params_nil?(params)
|
11
11
|
class ParamsRequired < StandardError; end
|
12
|
+
|
12
13
|
# This class provides a lightweight and flexible way to make HTTP requests
|
13
14
|
# in Ruby projects.
|
14
15
|
#
|
@@ -96,7 +97,7 @@ module ServiceClient
|
|
96
97
|
end
|
97
98
|
|
98
99
|
# Raises an error if any of the required params are nil.
|
99
|
-
#
|
100
|
+
#
|
100
101
|
# @param params [Hash] the params to check for nil values
|
101
102
|
# @raise [ParamsRequired] if any of the params are nil
|
102
103
|
# @return [nil] if all params are not nil
|
@@ -155,7 +155,7 @@ module ServiceClient
|
|
155
155
|
'510': NotExtendedError,
|
156
156
|
'511': NetworkAuthenticationRequiredError,
|
157
157
|
'598': NetworkReadTimeoutError,
|
158
|
-
'599': NetworkConnectTimeoutError
|
158
|
+
'599': NetworkConnectTimeoutError
|
159
159
|
}.freeze
|
160
160
|
|
161
161
|
# Raises an error based on the given HTTP response.
|
@@ -165,6 +165,8 @@ module ServiceClient
|
|
165
165
|
# raise [BaseError] The error that corresponds to the given HTTP response code.
|
166
166
|
# @return [void]
|
167
167
|
def raise_error(code, response)
|
168
|
+
raise BaseError.new('Unknown error', response) if [code, response].any?(&:nil?)
|
169
|
+
|
168
170
|
raise ERRORS[code.to_sym].new(ERRORS[code.to_sym].class.name, response)
|
169
171
|
end
|
170
172
|
end
|
@@ -40,7 +40,8 @@ module ServiceClient
|
|
40
40
|
#
|
41
41
|
# @param response [HTTParty::Response] The HTTP response object.
|
42
42
|
# @return [ServiceClient::Response] Returns itself if the response was successful.
|
43
|
-
# @raise [ServiceClient::Error] Raises an error with the response code
|
43
|
+
# @raise [ServiceClient::Error] Raises an error with the response code
|
44
|
+
# and object if the response was unsuccessful.
|
44
45
|
def call(response)
|
45
46
|
new(response).call
|
46
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: service_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alef Ojeda de Oliveira
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.21.0
|
34
34
|
type: :runtime
|
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: 0.
|
40
|
+
version: 0.21.0
|
41
41
|
description: Service client
|
42
42
|
email:
|
43
43
|
- alef.oliveira@dimensa.com.br
|
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
146
|
- !ruby/object:Gem::Version
|
147
147
|
version: '0'
|
148
148
|
requirements: []
|
149
|
-
rubygems_version: 3.
|
149
|
+
rubygems_version: 3.1.2
|
150
150
|
signing_key:
|
151
151
|
specification_version: 4
|
152
152
|
summary: Service client
|