ezclient 1.5.1 → 1.7.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 +4 -4
- data/.github/workflows/ci.yml +31 -0
- data/.gitignore +0 -2
- data/.rubocop.yml +9 -2
- data/Gemfile +11 -0
- data/Gemfile.lock +180 -0
- data/README.md +6 -1
- data/bin/rspec +1 -1
- data/ezclient.gemspec +5 -14
- data/lib/ezclient/client.rb +1 -0
- data/lib/ezclient/errors.rb +1 -0
- data/lib/ezclient/request.rb +11 -5
- data/lib/ezclient/response.rb +21 -2
- data/lib/ezclient/version.rb +1 -1
- metadata +6 -118
- data/.travis.yml +0 -17
- data/gemfiles/http3.gemfile +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa2cb8306bd3eef023200502bf45328c0c449d3ee5c462587f6654ecdda6ed46
|
4
|
+
data.tar.gz: 122807a192e55ce43ba40f6e639d5ef37c290e53cfd04bc36fa1cd36f51e5e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28f28f6623afc9200fdc949452e88d27157ac7ee8512329cfff5b2af078dc066cac27b8d8a509fd99834776493c9625268bb523f4f30d327b2ed5adbc5754c93
|
7
|
+
data.tar.gz: c8b58ff10962b02ad3eb7948c5d912acff4f2c7c2bfdc0cd90fc10efbeb01428b8fcae963010245168cf1712306f52e11984de3ee0ac706b62c2d4cfb2e44143
|
@@ -0,0 +1,31 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
|
9
|
+
# We want to run on external PRs, but not on our own internal PRs as they'll be run on push event
|
10
|
+
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'umbrellio/ezclient'
|
11
|
+
|
12
|
+
strategy:
|
13
|
+
fail-fast: false
|
14
|
+
matrix:
|
15
|
+
ruby: ["3.0", "3.1", "3.2", "3.3"]
|
16
|
+
|
17
|
+
name: ${{ matrix.ruby }}
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- uses: actions/checkout@v4
|
21
|
+
|
22
|
+
- uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: ${{ matrix.ruby }}
|
25
|
+
bundler-cache: true
|
26
|
+
|
27
|
+
- run: bundle exec rake
|
28
|
+
|
29
|
+
- uses: coverallsapp/github-action@v2
|
30
|
+
with:
|
31
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
require: rubocop-rake
|
2
|
+
|
1
3
|
inherit_gem:
|
2
4
|
rubocop-config-umbrellio: lib/rubocop.yml
|
3
5
|
|
4
6
|
AllCops:
|
5
7
|
DisplayCopNames: true
|
6
|
-
TargetRubyVersion:
|
8
|
+
TargetRubyVersion: 3.0
|
7
9
|
Include:
|
8
10
|
- bin/console
|
9
11
|
- Gemfile
|
@@ -14,4 +16,9 @@ AllCops:
|
|
14
16
|
- gemfile/**/*
|
15
17
|
Exclude:
|
16
18
|
- vendor/**/*
|
17
|
-
|
19
|
+
|
20
|
+
RSpec/Rails/HaveHttpStatus:
|
21
|
+
Enabled: false
|
22
|
+
|
23
|
+
RSpec/SpecFilePathFormat:
|
24
|
+
Enabled: false
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
ezclient (1.7.0)
|
5
|
+
http (>= 4)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
activesupport (7.1.3.4)
|
11
|
+
base64
|
12
|
+
bigdecimal
|
13
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
14
|
+
connection_pool (>= 2.2.5)
|
15
|
+
drb
|
16
|
+
i18n (>= 1.6, < 2)
|
17
|
+
minitest (>= 5.1)
|
18
|
+
mutex_m
|
19
|
+
tzinfo (~> 2.0)
|
20
|
+
addressable (2.8.7)
|
21
|
+
public_suffix (>= 2.0.2, < 7.0)
|
22
|
+
ast (2.4.2)
|
23
|
+
base64 (0.2.0)
|
24
|
+
bigdecimal (3.1.8)
|
25
|
+
coderay (1.1.3)
|
26
|
+
concurrent-ruby (1.3.3)
|
27
|
+
connection_pool (2.4.1)
|
28
|
+
coveralls (0.7.2)
|
29
|
+
multi_json (~> 1.3)
|
30
|
+
rest-client (= 1.6.7)
|
31
|
+
simplecov (>= 0.7)
|
32
|
+
term-ansicolor (= 1.2.2)
|
33
|
+
thor (= 0.18.1)
|
34
|
+
crack (1.0.0)
|
35
|
+
bigdecimal
|
36
|
+
rexml
|
37
|
+
diff-lcs (1.5.1)
|
38
|
+
docile (1.4.1)
|
39
|
+
domain_name (0.6.20240107)
|
40
|
+
drb (2.2.1)
|
41
|
+
ffi (1.17.0)
|
42
|
+
ffi-compiler (1.3.2)
|
43
|
+
ffi (>= 1.15.5)
|
44
|
+
rake
|
45
|
+
hashdiff (1.1.0)
|
46
|
+
http (5.2.0)
|
47
|
+
addressable (~> 2.8)
|
48
|
+
base64 (~> 0.1)
|
49
|
+
http-cookie (~> 1.0)
|
50
|
+
http-form_data (~> 2.2)
|
51
|
+
llhttp-ffi (~> 0.5.0)
|
52
|
+
http-cookie (1.0.6)
|
53
|
+
domain_name (~> 0.5)
|
54
|
+
http-form_data (2.3.0)
|
55
|
+
i18n (1.14.5)
|
56
|
+
concurrent-ruby (~> 1.0)
|
57
|
+
json (2.7.2)
|
58
|
+
language_server-protocol (3.17.0.3)
|
59
|
+
llhttp-ffi (0.5.0)
|
60
|
+
ffi-compiler (~> 1.0)
|
61
|
+
rake (~> 13.0)
|
62
|
+
method_source (1.1.0)
|
63
|
+
mime-types (3.5.2)
|
64
|
+
mime-types-data (~> 3.2015)
|
65
|
+
mime-types-data (3.2024.0702)
|
66
|
+
minitest (5.24.1)
|
67
|
+
multi_json (1.15.0)
|
68
|
+
mutex_m (0.2.0)
|
69
|
+
parallel (1.25.1)
|
70
|
+
parser (3.3.4.0)
|
71
|
+
ast (~> 2.4.1)
|
72
|
+
racc
|
73
|
+
pry (0.14.2)
|
74
|
+
coderay (~> 1.1)
|
75
|
+
method_source (~> 1.0)
|
76
|
+
public_suffix (6.0.1)
|
77
|
+
racc (1.8.1)
|
78
|
+
rack (3.1.7)
|
79
|
+
rainbow (3.1.1)
|
80
|
+
rake (13.2.1)
|
81
|
+
regexp_parser (2.9.2)
|
82
|
+
rest-client (1.6.7)
|
83
|
+
mime-types (>= 1.16)
|
84
|
+
rexml (3.3.2)
|
85
|
+
strscan
|
86
|
+
rspec (3.13.0)
|
87
|
+
rspec-core (~> 3.13.0)
|
88
|
+
rspec-expectations (~> 3.13.0)
|
89
|
+
rspec-mocks (~> 3.13.0)
|
90
|
+
rspec-core (3.13.0)
|
91
|
+
rspec-support (~> 3.13.0)
|
92
|
+
rspec-expectations (3.13.1)
|
93
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
94
|
+
rspec-support (~> 3.13.0)
|
95
|
+
rspec-mocks (3.13.1)
|
96
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
97
|
+
rspec-support (~> 3.13.0)
|
98
|
+
rspec-support (3.13.1)
|
99
|
+
rubocop (1.63.5)
|
100
|
+
json (~> 2.3)
|
101
|
+
language_server-protocol (>= 3.17.0)
|
102
|
+
parallel (~> 1.10)
|
103
|
+
parser (>= 3.3.0.2)
|
104
|
+
rainbow (>= 2.2.2, < 4.0)
|
105
|
+
regexp_parser (>= 1.8, < 3.0)
|
106
|
+
rexml (>= 3.2.5, < 4.0)
|
107
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
108
|
+
ruby-progressbar (~> 1.7)
|
109
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
110
|
+
rubocop-ast (1.31.3)
|
111
|
+
parser (>= 3.3.1.0)
|
112
|
+
rubocop-capybara (2.21.0)
|
113
|
+
rubocop (~> 1.41)
|
114
|
+
rubocop-config-umbrellio (1.63.0.93)
|
115
|
+
rubocop (~> 1.63.0)
|
116
|
+
rubocop-performance (~> 1.21.0)
|
117
|
+
rubocop-rails (~> 2.24.0)
|
118
|
+
rubocop-rake (~> 0.6.0)
|
119
|
+
rubocop-rspec (~> 2.29.0)
|
120
|
+
rubocop-sequel (~> 0.3.3)
|
121
|
+
rubocop-factory_bot (2.26.1)
|
122
|
+
rubocop (~> 1.61)
|
123
|
+
rubocop-performance (1.21.1)
|
124
|
+
rubocop (>= 1.48.1, < 2.0)
|
125
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
126
|
+
rubocop-rails (2.24.1)
|
127
|
+
activesupport (>= 4.2.0)
|
128
|
+
rack (>= 1.1)
|
129
|
+
rubocop (>= 1.33.0, < 2.0)
|
130
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
131
|
+
rubocop-rake (0.6.0)
|
132
|
+
rubocop (~> 1.0)
|
133
|
+
rubocop-rspec (2.29.2)
|
134
|
+
rubocop (~> 1.40)
|
135
|
+
rubocop-capybara (~> 2.17)
|
136
|
+
rubocop-factory_bot (~> 2.22)
|
137
|
+
rubocop-rspec_rails (~> 2.28)
|
138
|
+
rubocop-rspec_rails (2.29.1)
|
139
|
+
rubocop (~> 1.61)
|
140
|
+
rubocop-sequel (0.3.4)
|
141
|
+
rubocop (~> 1.0)
|
142
|
+
ruby-progressbar (1.13.0)
|
143
|
+
simplecov (0.22.0)
|
144
|
+
docile (~> 1.1)
|
145
|
+
simplecov-html (~> 0.11)
|
146
|
+
simplecov_json_formatter (~> 0.1)
|
147
|
+
simplecov-html (0.12.3)
|
148
|
+
simplecov-lcov (0.8.0)
|
149
|
+
simplecov_json_formatter (0.1.4)
|
150
|
+
strscan (3.1.0)
|
151
|
+
term-ansicolor (1.2.2)
|
152
|
+
tins (~> 0.8)
|
153
|
+
thor (0.18.1)
|
154
|
+
tins (0.13.2)
|
155
|
+
tzinfo (2.0.6)
|
156
|
+
concurrent-ruby (~> 1.0)
|
157
|
+
unicode-display_width (2.5.0)
|
158
|
+
webmock (3.23.1)
|
159
|
+
addressable (>= 2.8.0)
|
160
|
+
crack (>= 0.3.2)
|
161
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
162
|
+
|
163
|
+
PLATFORMS
|
164
|
+
ruby
|
165
|
+
|
166
|
+
DEPENDENCIES
|
167
|
+
bundler
|
168
|
+
coveralls
|
169
|
+
ezclient!
|
170
|
+
pry
|
171
|
+
rake
|
172
|
+
rspec
|
173
|
+
rubocop-config-umbrellio
|
174
|
+
rubocop-rake
|
175
|
+
simplecov
|
176
|
+
simplecov-lcov
|
177
|
+
webmock
|
178
|
+
|
179
|
+
BUNDLED WITH
|
180
|
+
2.5.16
|
data/README.md
CHANGED
@@ -35,6 +35,7 @@ Valid client options are:
|
|
35
35
|
|
36
36
|
- `api_auth` – arguments for `ApiAuth.sign!` (see https://github.com/mgomes/api_auth)
|
37
37
|
- `basic_auth` – arguments for basic authentication (either a hash with `:user` and `:pass` keys or a two-element array)
|
38
|
+
- `cookies` – a hash of cookies (or `HTTP::CookieJar` object) for requests
|
38
39
|
- `headers` – a hash of headers for requests
|
39
40
|
- `keep_alive` – timeout for persistent connection in seconds
|
40
41
|
- `max_retries` – maximum number of retries in case `retry_exceptions` option is provided
|
@@ -44,7 +45,8 @@ Valid client options are:
|
|
44
45
|
- `retry_exceptions` – an array of exception classes to retry
|
45
46
|
- `ssl_context` – ssl context for requests (an `OpenSSL::SSL::SSLContext` instance)
|
46
47
|
- `timeout` – timeout for requests in seconds or hash like `{ read: 5, write: 5, connect: 1 }`
|
47
|
-
- `follow`
|
48
|
+
- `follow` – enable following redirects (`true` or hash with options – e.g. `{ max_hops: 1, strict: false}`)
|
49
|
+
- `error_wrapper` – callback called on request exception, makes it possible to handle any error, default behavior: `raise error`
|
48
50
|
|
49
51
|
All these options are passed to each request made by this client but can be overriden on per-request basis.
|
50
52
|
|
@@ -90,6 +92,7 @@ You can provide `on_complete`, `on_error` and `on_retry` callbacks like this:
|
|
90
92
|
on_complete = -> (request, response, metadata) { ... }
|
91
93
|
on_error = -> (request, error, metadata) { ... }
|
92
94
|
on_retry = -> (request, error, metadata) { ... }
|
95
|
+
error_wrapper = -> (request, error, metadata) { raise error }
|
93
96
|
|
94
97
|
client = EzClient.new(
|
95
98
|
on_complete: on_complete,
|
@@ -97,6 +100,7 @@ client = EzClient.new(
|
|
97
100
|
on_retry: on_retry,
|
98
101
|
retry_exceptions: [StandardError],
|
99
102
|
max_retries: 2,
|
103
|
+
error_wrapper: error_wrapper
|
100
104
|
)
|
101
105
|
|
102
106
|
response = client.perform!(:get, url, metadata: :hello)
|
@@ -118,6 +122,7 @@ request.verb # => "POST"
|
|
118
122
|
request.url # => "http://example.com"
|
119
123
|
request.body # => '{"a": 1}'
|
120
124
|
request.headers # => { "Content-Type" => "application/json; charset=UTF-8", ... }
|
125
|
+
request.elapsed_seconds # => 0.08117745001072763
|
121
126
|
```
|
122
127
|
|
123
128
|
## Response object
|
data/bin/rspec
CHANGED
@@ -15,7 +15,7 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
15
15
|
bundle_binstub = File.expand_path("bundle", __dir__)
|
16
16
|
|
17
17
|
if File.file?(bundle_binstub)
|
18
|
-
if
|
18
|
+
if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
|
19
19
|
load(bundle_binstub)
|
20
20
|
else
|
21
21
|
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
data/ezclient.gemspec
CHANGED
@@ -5,28 +5,19 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require "ezclient/version"
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.required_ruby_version = ">=
|
8
|
+
spec.required_ruby_version = ">= 3.0"
|
9
9
|
|
10
|
-
spec.name
|
10
|
+
spec.name = "ezclient"
|
11
11
|
spec.version = EzClient::VERSION
|
12
12
|
spec.authors = ["Yuri Smirnov"]
|
13
|
-
spec.email
|
13
|
+
spec.email = ["tycooon@yandex.ru", "oss@umbrellio.biz"]
|
14
14
|
|
15
|
-
spec.summary
|
15
|
+
spec.summary = "An HTTP gem wrapper for easy persistent connections and more."
|
16
16
|
spec.homepage = "https://github.com/umbrellio/ezclient"
|
17
|
-
spec.license
|
17
|
+
spec.license = "MIT"
|
18
18
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_runtime_dependency "http", ">= 4"
|
23
|
-
|
24
|
-
spec.add_development_dependency "bundler"
|
25
|
-
spec.add_development_dependency "coveralls"
|
26
|
-
spec.add_development_dependency "pry"
|
27
|
-
spec.add_development_dependency "rake"
|
28
|
-
spec.add_development_dependency "rspec"
|
29
|
-
spec.add_development_dependency "rubocop-config-umbrellio"
|
30
|
-
spec.add_development_dependency "simplecov"
|
31
|
-
spec.add_development_dependency "webmock"
|
32
23
|
end
|
data/lib/ezclient/client.rb
CHANGED
data/lib/ezclient/errors.rb
CHANGED
data/lib/ezclient/request.rb
CHANGED
@@ -10,7 +10,7 @@ class EzClient::Request
|
|
10
10
|
query
|
11
11
|
].freeze
|
12
12
|
|
13
|
-
attr_accessor :verb, :url, :options
|
13
|
+
attr_accessor :verb, :url, :options, :elapsed_seconds
|
14
14
|
|
15
15
|
def initialize(verb, url, options)
|
16
16
|
self.verb = verb.to_s.upcase
|
@@ -23,12 +23,12 @@ class EzClient::Request
|
|
23
23
|
def perform
|
24
24
|
http_response = perform_request
|
25
25
|
|
26
|
-
EzClient::Response.new(http_response).tap do |response|
|
26
|
+
EzClient::Response.new(http_response, http_request).tap do |response|
|
27
27
|
on_complete.call(self, response, options[:metadata])
|
28
28
|
end
|
29
29
|
rescue => error
|
30
30
|
on_error.call(self, error, options[:metadata])
|
31
|
-
|
31
|
+
error_wrapper.call(self, error, options[:metadata])
|
32
32
|
end
|
33
33
|
|
34
34
|
def perform!
|
@@ -101,6 +101,7 @@ class EzClient::Request
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def perform_request
|
104
|
+
perform_started_at = EzClient.get_time
|
104
105
|
with_retry do
|
105
106
|
# Use original client so that connection can be reused
|
106
107
|
res = client.perform(http_request, http_options)
|
@@ -110,6 +111,8 @@ class EzClient::Request
|
|
110
111
|
client.perform(request, http_options)
|
111
112
|
end
|
112
113
|
end
|
114
|
+
ensure
|
115
|
+
self.elapsed_seconds = EzClient.get_time - perform_started_at
|
113
116
|
end
|
114
117
|
|
115
118
|
def with_retry(&block)
|
@@ -171,6 +174,10 @@ class EzClient::Request
|
|
171
174
|
options[:follow].is_a?(Hash) ? options[:follow] : {}
|
172
175
|
end
|
173
176
|
|
177
|
+
def error_wrapper
|
178
|
+
options[:error_wrapper] || proc { |_request, error, _metadata| raise error }
|
179
|
+
end
|
180
|
+
|
174
181
|
def prepare_headers(headers)
|
175
182
|
headers = HTTP::Headers.coerce(headers)
|
176
183
|
headers[:user_agent] ||= "ezclient/#{EzClient::VERSION}"
|
@@ -198,7 +205,7 @@ class EzClient::Request
|
|
198
205
|
end
|
199
206
|
|
200
207
|
def basic_auth
|
201
|
-
@basic_auth ||=
|
208
|
+
@basic_auth ||=
|
202
209
|
case options[:basic_auth]
|
203
210
|
when Array
|
204
211
|
user, password = options[:basic_auth]
|
@@ -206,6 +213,5 @@ class EzClient::Request
|
|
206
213
|
when Hash
|
207
214
|
options[:basic_auth]
|
208
215
|
end
|
209
|
-
end
|
210
216
|
end
|
211
217
|
end
|
data/lib/ezclient/response.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class EzClient::Response
|
4
|
-
attr_accessor :http_response, :body
|
4
|
+
attr_accessor :http_response, :body, :http_request
|
5
5
|
|
6
|
-
def initialize(http_response)
|
6
|
+
def initialize(http_response, http_request)
|
7
7
|
self.http_response = http_response
|
8
|
+
self.http_request = http_request
|
8
9
|
self.body = http_response.body.to_s # Make sure we read the body for persistent connection
|
9
10
|
end
|
10
11
|
|
@@ -40,4 +41,22 @@ class EzClient::Response
|
|
40
41
|
def error?
|
41
42
|
client_error? || server_error?
|
42
43
|
end
|
44
|
+
|
45
|
+
def inspect
|
46
|
+
{
|
47
|
+
req: {
|
48
|
+
raw: http_request.inspect,
|
49
|
+
hdrs: http_request.headers,
|
50
|
+
},
|
51
|
+
resp: {
|
52
|
+
raw: http_response.inspect,
|
53
|
+
hdrs: headers,
|
54
|
+
body: body,
|
55
|
+
},
|
56
|
+
}.to_s
|
57
|
+
end
|
58
|
+
|
59
|
+
def to_s
|
60
|
+
inspect
|
61
|
+
end
|
43
62
|
end
|
data/lib/ezclient/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ezclient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuri Smirnov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -24,118 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: coveralls
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: pry
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-config-umbrellio
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: simplecov
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: webmock
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
27
|
description:
|
140
28
|
email:
|
141
29
|
- tycooon@yandex.ru
|
@@ -144,18 +32,18 @@ executables: []
|
|
144
32
|
extensions: []
|
145
33
|
extra_rdoc_files: []
|
146
34
|
files:
|
35
|
+
- ".github/workflows/ci.yml"
|
147
36
|
- ".gitignore"
|
148
37
|
- ".rspec"
|
149
38
|
- ".rubocop.yml"
|
150
|
-
- ".travis.yml"
|
151
39
|
- Gemfile
|
40
|
+
- Gemfile.lock
|
152
41
|
- LICENSE.txt
|
153
42
|
- README.md
|
154
43
|
- Rakefile
|
155
44
|
- bin/console
|
156
45
|
- bin/rspec
|
157
46
|
- ezclient.gemspec
|
158
|
-
- gemfiles/http3.gemfile
|
159
47
|
- lib/ezclient.rb
|
160
48
|
- lib/ezclient/check_options.rb
|
161
49
|
- lib/ezclient/client.rb
|
@@ -177,14 +65,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
65
|
requirements:
|
178
66
|
- - ">="
|
179
67
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
68
|
+
version: '3.0'
|
181
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
70
|
requirements:
|
183
71
|
- - ">="
|
184
72
|
- !ruby/object:Gem::Version
|
185
73
|
version: '0'
|
186
74
|
requirements: []
|
187
|
-
rubygems_version: 3.
|
75
|
+
rubygems_version: 3.5.16
|
188
76
|
signing_key:
|
189
77
|
specification_version: 4
|
190
78
|
summary: An HTTP gem wrapper for easy persistent connections and more.
|
data/.travis.yml
DELETED