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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a7c441970d24a2206c3cd0f2f93ed5cbecb592ae8344d6a7ba449dd3d0b16f6
4
- data.tar.gz: '049c93b96e988fc0e2898161e87ff1b8cadb6282c4deb2a88d34f00ffc2cccb0'
3
+ metadata.gz: fa2cb8306bd3eef023200502bf45328c0c449d3ee5c462587f6654ecdda6ed46
4
+ data.tar.gz: 122807a192e55ce43ba40f6e639d5ef37c290e53cfd04bc36fa1cd36f51e5e77
5
5
  SHA512:
6
- metadata.gz: 6b5a1fb31992687e9bf84f10cc1bdd4fc34b84672ce7a3e6f097778f2e07a0b8516f7c82d8a55e655dd85a7cf24de6b92484c5d7c0165f2408bcf3309ce60808
7
- data.tar.gz: e3a4e0dde38f1da48c7d18c330014e14275853cacd7e3b693ab58b5ac6735524a89d081c818f56def176a06bde8ba1714a2d0f5b4de24c4c3daac3792e59f396
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
@@ -7,5 +7,3 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  .rspec_status
10
- Gemfile.lock
11
- /gemfiles/*.lock
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: 2.5
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
- - gemfiles/**/*
19
+
20
+ RSpec/Rails/HaveHttpStatus:
21
+ Enabled: false
22
+
23
+ RSpec/SpecFilePathFormat:
24
+ Enabled: false
data/Gemfile CHANGED
@@ -2,3 +2,14 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
  gemspec
5
+
6
+ gem "bundler"
7
+ gem "coveralls"
8
+ gem "pry"
9
+ gem "rake"
10
+ gem "rspec"
11
+ gem "rubocop-config-umbrellio"
12
+ gem "rubocop-rake"
13
+ gem "simplecov"
14
+ gem "simplecov-lcov"
15
+ gem "webmock"
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` - enable following redirects (`true` or hash with options – e.g. `{ max_hops: 1, strict: false}`)
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 /This file was generated by Bundler/.match?(File.read(bundle_binstub, 300))
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 = ">= 2.5.0"
8
+ spec.required_ruby_version = ">= 3.0"
9
9
 
10
- spec.name = "ezclient"
10
+ spec.name = "ezclient"
11
11
  spec.version = EzClient::VERSION
12
12
  spec.authors = ["Yuri Smirnov"]
13
- spec.email = ["tycooon@yandex.ru", "oss@umbrellio.biz"]
13
+ spec.email = ["tycooon@yandex.ru", "oss@umbrellio.biz"]
14
14
 
15
- spec.summary = "An HTTP gem wrapper for easy persistent connections and more."
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 = "MIT"
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
@@ -15,6 +15,7 @@ class EzClient::Client
15
15
  ssl_context
16
16
  timeout
17
17
  follow
18
+ error_wrapper
18
19
  ].freeze
19
20
 
20
21
  def initialize(options = {})
@@ -6,6 +6,7 @@ module EzClient
6
6
 
7
7
  def initialize(response)
8
8
  self.response = response
9
+ super
9
10
  end
10
11
 
11
12
  def message
@@ -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
- raise error
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 ||= begin
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
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EzClient
4
- VERSION = "1.5.1"
4
+ VERSION = "1.7.0"
5
5
  end
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.5.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: 2020-07-31 00:00:00.000000000 Z
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: 2.5.0
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.1.2
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
@@ -1,17 +0,0 @@
1
- language: ruby
2
-
3
- os: linux
4
-
5
- dist: xenial
6
-
7
- before_install: gem install bundler
8
-
9
- jobs:
10
- fast_finish: true
11
- include:
12
- - rvm: 2.5
13
- - rvm: 2.6
14
- - rvm: 2.7
15
- - rvm: ruby-head
16
- allow_failures:
17
- - rvm: ruby-head
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
- gemspec path: ".."
5
-
6
- gem "http", "~> 3.0"