chimera_http_client 1.2.0 → 1.5.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: 5a1e1ddc7ca2263c940a81d57b6fbd4a94cb013ba040cf47a10e9428b4ad2fee
4
- data.tar.gz: 2314f9fac4ec7b9514d19fe50d96051f47e9a9fce4cc588c3c2f5381bf53b8d2
3
+ metadata.gz: da90ccc4dfdbaf080bf84581cebbf3344e85793653605ecf49075a524c4ecef2
4
+ data.tar.gz: 5b93585a12aad3e8c927853e44dd0bc9b22b61f606edd7d3627a89ec91879cc2
5
5
  SHA512:
6
- metadata.gz: 3074c920d64e9b4ce923590c320e1db14ede59d63527bbf29070b8625edfc3738a9354fa00ca21dcf61635882f97d6a755be10fa0c0776e567c13264a5f7358c
7
- data.tar.gz: 2530bee55981a60ce9beaf1959b8af1b7ca333f1d16655de7782bd994bf75d6aff094beced3a8ebe31ea8dc3c2109e1bc9159058bf45932cb006e305925f8567
6
+ metadata.gz: 805969007906d493de7b720747c7235345ad12022711f616557944053b7b57310ff587a3f381d081a68f9d63525a176f85dc1a67dc5002b5a4c01a939dea0ceb
7
+ data.tar.gz: ffc28a398833e72ae2e760826e418dff7a7d5221e61443974c3bff4277ada7f2c9c1e71e7b1b7da3b20fc1251ccabd4d15c1f646061c74c03fcb45bfd63105a4
@@ -0,0 +1,21 @@
1
+ name: rubies-ci
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ os: [ubuntu-latest] # macos-latest
9
+ ruby: ['2.5', '2.6', '2.7', '3.0'] # Due to https://github.com/actions/runner/issues/849, we have to use quotes
10
+
11
+ runs-on: ${{ matrix.os }}
12
+
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: ${{ matrix.ruby }}
18
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
19
+
20
+ - name: Run linters and test suite
21
+ run: bundle exec rake ci
data/.rubocop.yml CHANGED
@@ -1,50 +1,48 @@
1
+ require:
2
+ - rubocop-rake
3
+ - rubocop-rspec
4
+
1
5
  AllCops:
2
- DisplayCopNames: true
3
6
  TargetRubyVersion: 2.5
7
+ DisplayCopNames: true
8
+ NewCops: enable # but feel free to disable them below
4
9
  Exclude:
5
10
  - vendor/**/*
6
11
  - config.ru
7
12
 
8
- Layout/AlignHash:
9
- Enabled: false
13
+ Layout/EmptyLineBetweenDefs:
14
+ AllowAdjacentOneLineDefs: true
10
15
 
11
- # Cop supports --auto-correct.
12
16
  # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
13
17
  # SupportedStyles: special_inside_parentheses, consistent, align_braces
14
- Layout/IndentFirstHashElement:
18
+ Layout/FirstHashElementIndentation:
15
19
  EnforcedStyle: consistent
16
20
 
17
- Metrics/AbcSize:
18
- Max: 35
21
+ Layout/HashAlignment:
22
+ Enabled: false
19
23
 
20
- Metrics/BlockLength:
21
- Exclude:
22
- - chimera_http_client.gemspec
23
- - spec/**/*
24
+ Layout/LineLength:
25
+ Max: 125
24
26
 
25
- # Configuration parameters: CountComments.
26
- Metrics/ClassLength:
27
- Max: 150
27
+ Metrics:
28
+ Enabled: false
28
29
 
29
- Metrics/CyclomaticComplexity:
30
- Max: 15
30
+ RSpec/ContextWording:
31
+ Enabled: false
31
32
 
32
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
33
- # URISchemes: http, https
34
- Metrics/LineLength:
35
- Max: 125
33
+ RSpec/ExampleLength:
34
+ Max: 25
36
35
 
37
- # Offense count: 5
38
- # Configuration parameters: CountComments.
39
- Metrics/MethodLength:
40
- Max: 32
36
+ RSpec/MultipleExpectations:
37
+ Enabled: false
41
38
 
42
- Metrics/ParameterLists:
43
- Max: 7
39
+ RSpec/MultipleMemoizedHelpers:
40
+ Enabled: false
44
41
 
45
- # Configuration parameters: EnforcedStyle, SupportedStyles.
46
- # SupportedStyles: braces, no_braces, context_dependent
47
- Style/BracesAroundHashParameters:
42
+ RSpec/NestedGroups:
43
+ Max: 4
44
+
45
+ Style/CaseLikeIf:
48
46
  Enabled: false
49
47
 
50
48
  Style/CommentedKeyword:
@@ -55,7 +53,6 @@ Style/Documentation:
55
53
 
56
54
  Style/DoubleNegation:
57
55
  Enabled: true
58
-
59
56
  Style/FrozenStringLiteralComment:
60
57
  Enabled: false
61
58
 
@@ -71,11 +68,22 @@ Style/StringLiterals:
71
68
  - single_quotes
72
69
  - double_quotes
73
70
 
74
- # Cop supports --auto-correct.
75
71
  Style/NumericLiterals:
76
72
  MinDigits: 15
77
73
 
78
- # Cop supports --auto-correct.
74
+ Style/PercentLiteralDelimiters:
75
+ PreferredDelimiters:
76
+ default: ()
77
+ "%": ()
78
+ "%i": ()
79
+ "%q": ()
80
+ "%Q": ()
81
+ "%r": "{}"
82
+ "%s": ()
83
+ "%w": ()
84
+ "%W": ()
85
+ "%x": ()
86
+
79
87
  # Configuration parameters: AllowAsExpressionSeparator.
80
88
  Style/Semicolon:
81
89
  AllowAsExpressionSeparator: true
@@ -83,7 +91,6 @@ Style/Semicolon:
83
91
  Style/SymbolProc:
84
92
  Enabled: false
85
93
 
86
- # Cop supports --auto-correct.
87
94
  # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
88
95
  # SupportedStyles: comma, consistent_comma, no_comma
89
96
  Style/TrailingCommaInArrayLiteral:
@@ -92,7 +99,6 @@ Style/TrailingCommaInArrayLiteral:
92
99
  Style/TrailingCommaInHashLiteral:
93
100
  EnforcedStyleForMultiline: comma
94
101
 
95
- # Cop supports --auto-correct.
96
102
  # Configuration parameters: SupportedStyles, MinSize, WordRegex.
97
103
  # SupportedStyles: percent, brackets
98
104
  Style/WordArray:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.3
1
+ 3.0.1
data/.travis.yml CHANGED
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - ruby-head
4
+ - 3.0
5
+ - 2.7
5
6
  - 2.6
6
7
  - 2.5
7
8
  - jruby
@@ -16,10 +17,10 @@ matrix:
16
17
  before_install:
17
18
  - 'echo ''gem: --no-ri --no-rdoc'' > ~/.gemrc'
18
19
 
19
- bundler_args: --jobs 3 --retry 3
20
+ bundler_args: --jobs 4 --retry 4
20
21
 
21
22
  before_script:
22
23
 
23
24
  # execute rspec tests, rubocop and bundle:audit
24
25
  script:
25
- bundle exec rake
26
+ bundle exec rake ci
data/README.markdown CHANGED
@@ -6,7 +6,8 @@ And what works for the internal communication between your own apps, will also w
6
6
 
7
7
  It offers an **easy to learn interface** and **nice error handling**. And it enables you to **queue HTTP requests to run them in parallel** for better performance and simple aggregating of distributed data.
8
8
 
9
- [![Build Status](https://travis-ci.com/mediafinger/chimera_http_client.svg?branch=master)](https://travis-ci.com/mediafinger/chimera_http_client)
9
+ [![GitHub Actions CI Build Status](https://github.com/mediafinger/chimera_http_client/actions/workflows/action-ci.yml/badge.svg?branch=master)](https://github.com/mediafinger/chimera_http_client/actions/workflows/action-ci.yml)
10
+ [![Travis-CI Build Status](https://travis-ci.com/mediafinger/chimera_http_client.svg?branch=master)](https://travis-ci.com/mediafinger/chimera_http_client)
10
11
  [![Gem Version](https://badge.fury.io/rb/chimera_http_client.svg)](https://badge.fury.io/rb/chimera_http_client)
11
12
 
12
13
  ## Dependencies
@@ -17,11 +18,14 @@ The only other runtime dependency is Ruby's latest code loader [**zeitwerk**](ht
17
18
 
18
19
  ### Ruby version
19
20
 
20
- | Chimera version | Ruby version |
21
- |:----------------|:-------------|
22
- | >= 1.1 | >= 2.5 |
23
- | = 1.0 | >= 2.4 |
24
- | <= 0.5 | >= 2.1 |
21
+ | Chimera version | Ruby version |
22
+ |:----------------|:-----------------------------------|
23
+ | >= 1.4 | >= 2.5 (3.0 compatibility ensured) |
24
+ | >= 1.1 | >= 2.5 |
25
+ | = 1.0 | >= 2.4, <= 3.0 |
26
+ | <= 0.5 | >= 2.1, <= 3.0 |
27
+
28
+ The test suite of v1.4 passes on **MRI Ruby** (2.5, 2.6, 2.7, 3.0) and on **JRuby**, but not on **TruffleRuby**.
25
29
 
26
30
  ### ENV variables
27
31
 
@@ -31,32 +35,36 @@ Setting the environment variable `ENV['CHIMERA_HTTP_CLIENT_LOG_REQUESTS']` to `t
31
35
 
32
36
  <!-- TOC depthFrom:1 depthTo:4 withLinks:1 updateOnSave:0 orderedList:0 -->
33
37
 
34
- - [ChimeraHttpClient](#chimerahttpclient)
35
- - [Table of Contents](#table-of-contents)
36
- - [Dependencies](#dependencies)
37
- - [ENV variables](#env-variables)
38
- - [The Connection class](#the-connection-class)
39
- - [Initialization](#initialization)
40
- - [Mandatory initialization parameter `base_url`](#mandatory-initialization-parameter-baseurl)
41
- - [Optional initialization parameters](#optional-initialization-parameters)
42
- - [Request methods](#request-methods)
43
- - [Mandatory request parameter `endpoint`](#mandatory-request-parameter-endpoint)
44
- - [Optional request parameters](#optional-request-parameters)
45
- - [Basic auth](#basic-auth)
46
- - [Timeout duration](#timeout-duration)
47
- - [Custom logger](#custom-logger)
48
- - [Caching responses](#caching-responses)
49
- - [Example usage](#example-usage)
50
- - [The Request class](#the-request-class)
51
- - [The Response class](#the-response-class)
52
- - [Error classes](#error-classes)
53
- - [The Queue class](#the-queue-class)
54
- - [Queueing requests](#queueing-requests)
55
- - [Executing requests in parallel](#executing-requests-in-parallel)
56
- - [Installation](#installation)
57
- - [Maintainers and Contributors](#maintainers-and-contributors)
58
- - [Roadmap](#roadmap)
59
- - [Chimera](#chimera)
38
+ * [ChimeraHttpClient](#chimerahttpclient)
39
+ * [Dependencies](#dependencies)
40
+ * [Ruby version](#ruby-version)
41
+ * [ENV variables](#env-variables)
42
+ * [Table of Contents](#table-of-contents)
43
+ * [The Connection class](#the-connection-class)
44
+ * [Initialization](#initialization)
45
+ * [Mandatory initialization parameter `base_url`](#mandatory-initialization-parameter-base_url)
46
+ * [Optional initialization parameters](#optional-initialization-parameters)
47
+ * [Custom deserializers](#custom-deserializers)
48
+ * [Monitoring, metrics, instrumentation](#monitoring-metrics-instrumentation)
49
+ * [Request methods](#request-methods)
50
+ * [Mandatory request parameter `endpoint`](#mandatory-request-parameter-endpoint)
51
+ * [Optional request parameters](#optional-request-parameters)
52
+ * [Basic auth](#basic-auth)
53
+ * [Timeout duration](#timeout-duration)
54
+ * [Custom logger](#custom-logger)
55
+ * [Caching responses](#caching-responses)
56
+ * [Example usage](#example-usage)
57
+ * [The Request class](#the-request-class)
58
+ * [The Response class](#the-response-class)
59
+ * [Error classes](#error-classes)
60
+ * [The Queue class](#the-queue-class)
61
+ * [Queueing requests](#queueing-requests)
62
+ * [Executing requests in parallel](#executing-requests-in-parallel)
63
+ * [Empty the queue](#empty-the-queue)
64
+ * [Installation](#installation)
65
+ * [Maintainers and Contributors](#maintainers-and-contributors)
66
+ * [Roadmap](#roadmap)
67
+ * [Chimera](#chimera)
60
68
 
61
69
  <!-- /TOC -->
62
70
 
@@ -85,7 +93,7 @@ The optional parameters are:
85
93
 
86
94
  * `cache` - an instance of your cache solution, can be overwritten in any request
87
95
  * `deserializers` - custom methods to deserialize the response body, below more details
88
- * `logger` - an instance of a logger class that implements `#info` and `#warn` methods
96
+ * `logger` - an instance of a logger class that implements `#info`, `#warn` and `#error` methods
89
97
  * `monitor` - to collect metrics about requests, the basis for your instrumentation needs
90
98
  * `timeout` - the timeout for all requests, can be overwritten in any request, the default are 3 seconds
91
99
  * `user_agent` - if you would like your calls to identify with a specific user agent
@@ -190,6 +198,17 @@ If you want to use a different timeout, you can pass the key `timeout` when init
190
198
 
191
199
  By default no logging is happening. If you need request logging, you can pass your custom Logger to the key `logger` when initializing the `Connection`. It will write to `logger.info` when starting and when completing a request.
192
200
 
201
+ The message passed to the logger is a hash with the following fields:
202
+
203
+ | Key | Description |
204
+ |:-------------|:--------------------------------------------|
205
+ | `message` | indicator if a call was started or finished |
206
+ | `method` | the HTTP method used |
207
+ | `url` | the requested URL |
208
+ | `code` | HTTP status code |
209
+ | `runtime` | time the request took in ms |
210
+ | `user_agent` | the user_agent used to open the connection |
211
+
193
212
  #### Caching responses
194
213
 
195
214
  To cache all the reponses of a connection, just pass the optional parameter `cache` to its initializer. You can also overwrite the connection's cache configuration by passing the parameter `cache` to any `get` call.
@@ -310,6 +329,7 @@ The `ChimeraHttpClient::Response` objects have the following interface:
310
329
  * code (http code, should be 200 or 2xx)
311
330
  * time (for monitoring)
312
331
  * response (the full response object, including the request)
332
+ * success? (returns the result of response.success?)
313
333
  * error? (returns false)
314
334
  * parsed_body (returns the result of `deserializer[:response].call(body)`)
315
335
 
@@ -323,6 +343,7 @@ All errors inherit from `ChimeraHttpClient::Error` and therefore offer the same
323
343
  * body (alias => message)
324
344
  * time (for monitoring)
325
345
  * response (the full response object, including the request)
346
+ * success? (returns the result of response.success?)
326
347
  * error? (returns true)
327
348
  * error_class (e.g. ChimeraHttpClient::NotFoundError)
328
349
  * to_s (information for logging / respects ENV['CHIMERA_HTTP_CLIENT_LOG_REQUESTS'])
data/Rakefile CHANGED
@@ -1,17 +1,23 @@
1
1
  require "bundler/audit/task"
2
2
  require "bundler/gem_tasks"
3
3
  require "rspec/core/rake_task"
4
+ require "rubocop/rake_task"
4
5
 
6
+ # setup task bundle:audit
5
7
  Bundler::Audit::Task.new
6
8
 
9
+ # setup taks rspec
7
10
  RSpec::Core::RakeTask.new(:rspec) do |t|
8
11
  # t.exclude_pattern = "**/server/*_spec.rb" # skip real http server specs
9
12
  # t.exclude_pattern = "**/stubbed/*_spec.rb" # skip the stubbed Typhoeus specs
10
13
  end
11
14
 
15
+ # setup taks rubocop and rubocop:auto_correct
16
+ RuboCop::RakeTask.new
17
+
12
18
  desc "Open a console with the ChimeraHttpClient loaded"
13
19
  task :console do
14
- puts "Console with the gem and awesome_print loaded:"
20
+ puts "Console with the gem and amazing_print loaded:"
15
21
  ARGV.clear
16
22
  require "irb"
17
23
  require "ap"
@@ -19,15 +25,7 @@ task :console do
19
25
  IRB.start
20
26
  end
21
27
 
22
- desc "Run Rubocop"
23
- task :rubocop do
24
- system "bundle exec rubocop -c .rubocop.yml"
25
- end
26
-
27
- desc "Run Rubocop and auto-correct issues"
28
- task :rubocopa do
29
- system "bundle exec rubocop -c .rubocop.yml -a"
30
- end
28
+ desc "Run rubocop and the specs and check for known CVEs"
29
+ task ci: %i(rubocop rspec bundle:audit)
31
30
 
32
- desc "Run all the tests"
33
- task default: %i[rspec rubocop bundle:audit]
31
+ task default: :ci
@@ -32,14 +32,15 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency "zeitwerk", ">= 2.0"
33
33
 
34
34
  # general development and test dependencies
35
- spec.add_development_dependency "awesome_print", "~> 1.8"
35
+ spec.add_development_dependency "amazing_print", ">= 1.2"
36
36
  spec.add_development_dependency "bundler", ">= 1.0"
37
- spec.add_development_dependency "bundler-audit", "~> 0.6"
38
- spec.add_development_dependency "irb", "~> 1.0"
37
+ spec.add_development_dependency "bundler-audit", ">= 0.6"
38
+ spec.add_development_dependency "irb", ">= 1.0"
39
39
  spec.add_development_dependency "rake", ">= 10.0"
40
40
  spec.add_development_dependency "rspec", "~> 3.0"
41
- spec.add_development_dependency "rubocop", "~> 0.50"
42
- spec.add_development_dependency "rubocop-rspec", "~> 1.4"
41
+ spec.add_development_dependency "rubocop", "~> 1.12"
42
+ spec.add_development_dependency "rubocop-rake", "~> 0.5"
43
+ spec.add_development_dependency "rubocop-rspec", "~> 2.2"
43
44
 
44
45
  # only for server specs with real HTTP requests
45
46
  spec.add_development_dependency "capybara", "~> 3.0"
@@ -47,4 +48,5 @@ Gem::Specification.new do |spec|
47
48
  spec.add_development_dependency "sinatra", "~> 2.0"
48
49
  spec.add_development_dependency "sinatra-contrib", "~> 2.0"
49
50
  spec.add_development_dependency "webmock", "~> 3.0"
51
+ spec.add_development_dependency "webrick"
50
52
  end
@@ -7,5 +7,5 @@ module ChimeraHttpClient
7
7
  loader.setup
8
8
 
9
9
  # as Zeitwerk can't handle innner classes properly :-/
10
- require_relative "./chimera_http_client/error.rb"
10
+ require_relative "./chimera_http_client/error"
11
11
  end
@@ -56,7 +56,7 @@ module ChimeraHttpClient
56
56
 
57
57
  # Remove leading and trailing "/" from a give part of a String (usually URL or endpoint)
58
58
  def trim(element)
59
- element.to_s.sub(%r{^\/}, "").chomp("/")
59
+ element.to_s.sub(%r{^/}, "").chomp("/")
60
60
  end
61
61
  end
62
62
  end
@@ -17,13 +17,13 @@ module ChimeraHttpClient
17
17
  monitor: @monitor,
18
18
  }
19
19
 
20
- @request ||= Request.new(options)
20
+ Request.new(options)
21
21
  end
22
22
 
23
23
  private
24
24
 
25
25
  def run(method, endpoint, options = {})
26
- options[:body_optional] = true if %i[get delete head options trace].include?(method)
26
+ options[:body_optional] = true if %i(get delete head options trace).include?(method)
27
27
  body = extract_body(options)
28
28
  headers = extract_headers(options, default_headers)
29
29
 
@@ -37,7 +37,7 @@ module ChimeraHttpClient
37
37
  # end
38
38
  #
39
39
  def define_http_methods
40
- %i[get post put patch delete head options trace].each do |method_name|
40
+ %i(get post put patch delete head options trace).each do |method_name|
41
41
  self.class.send(:define_method, method_name) do |endpoint, options = {}|
42
42
  send(:run, method_name, endpoint, options)
43
43
  end
@@ -10,6 +10,12 @@ module ChimeraHttpClient
10
10
  @response = response # contains the request
11
11
 
12
12
  @deserializer = options[:deserializer][:error]
13
+
14
+ super(response.body)
15
+ end
16
+
17
+ def success?
18
+ response.success?
13
19
  end
14
20
 
15
21
  def error?
@@ -2,7 +2,7 @@ module ChimeraHttpClient
2
2
  class Queue < Base
3
3
  def add(method, endpoint, options = {})
4
4
  http_method = method.downcase.to_sym
5
- options[:body_optional] = true if %i[get delete head options trace].include?(http_method)
5
+ options[:body_optional] = true if %i(get delete head options trace).include?(http_method)
6
6
 
7
7
  queued_requests << create_request(
8
8
  method: http_method,
@@ -44,13 +44,31 @@ module ChimeraHttpClient
44
44
  completed_at: Time.now.utc.iso8601(3), context: options[:monitoring_context]
45
45
  }
46
46
  )
47
- @options[:logger]&.info("Completed HTTP request: #{method.upcase} #{url} " \
48
- "in #{runtime}sec with status code #{response.code}")
47
+
48
+ @options[:logger]&.info(
49
+ {
50
+ message: "Completed Chimera HTTP Request",
51
+ method: method.upcase,
52
+ url: url,
53
+ code: response.code,
54
+ runtime: runtime,
55
+ user_agent: Typhoeus::Config.user_agent,
56
+ }
57
+ )
49
58
 
50
59
  @result = on_complete_handler(response)
51
60
  end
52
61
 
53
- @options[:logger]&.info("Starting HTTP request: #{method.upcase} #{url}")
62
+ @options[:logger]&.info(
63
+ {
64
+ message: "Starting Chimera HTTP Request",
65
+ method: method.upcase,
66
+ url: url,
67
+ code: nil,
68
+ runtime: 0,
69
+ user_agent: Typhoeus::Config.user_agent,
70
+ }
71
+ )
54
72
 
55
73
  self
56
74
  end
@@ -70,7 +88,7 @@ module ChimeraHttpClient
70
88
  when 301, 302, 303, 307
71
89
  RedirectionError.new(response, @options) # TODO: throw error conditionally
72
90
  when 200..399
73
- nil
91
+ nil # TODO: decide to either raise error or return a Response
74
92
  when 400
75
93
  BadRequestError.new(response, @options)
76
94
  when 401
@@ -15,6 +15,10 @@ module ChimeraHttpClient
15
15
  deserializer.call(body)
16
16
  end
17
17
 
18
+ def success?
19
+ response.success?
20
+ end
21
+
18
22
  def error?
19
23
  false
20
24
  end
@@ -1,3 +1,3 @@
1
1
  module ChimeraHttpClient
2
- VERSION = "1.2.0".freeze
2
+ VERSION = "1.5.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chimera_http_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Finger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-15 00:00:00.000000000 Z
11
+ date: 2021-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: awesome_print
42
+ name: amazing_print
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.8'
47
+ version: '1.2'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '1.8'
54
+ version: '1.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -70,28 +70,28 @@ dependencies:
70
70
  name: bundler-audit
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.6'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: irb
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.0'
97
97
  - !ruby/object:Gem::Dependency
@@ -128,28 +128,42 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.50'
131
+ version: '1.12'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.12'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.5'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '0.50'
152
+ version: '0.5'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rubocop-rspec
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '1.4'
159
+ version: '2.2'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '1.4'
166
+ version: '2.2'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: capybara
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +234,20 @@ dependencies:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
236
  version: '3.0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: webrick
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
223
251
  description: |
224
252
  The Chimera http client offers an easy to learn interface and consistent error handling.
225
253
  It is lightweight, fast and enables you to queue HTTP requests to run them in parallel
@@ -232,6 +260,7 @@ executables: []
232
260
  extensions: []
233
261
  extra_rdoc_files: []
234
262
  files:
263
+ - ".github/workflows/action-ci.yml"
235
264
  - ".gitignore"
236
265
  - ".rspec"
237
266
  - ".rubocop.yml"
@@ -256,7 +285,7 @@ homepage: https://github.com/mediafinger/chimera_http_client
256
285
  licenses:
257
286
  - MIT
258
287
  metadata: {}
259
- post_install_message:
288
+ post_install_message:
260
289
  rdoc_options: []
261
290
  require_paths:
262
291
  - lib
@@ -271,8 +300,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
300
  - !ruby/object:Gem::Version
272
301
  version: '0'
273
302
  requirements: []
274
- rubygems_version: 3.0.3
275
- signing_key:
303
+ rubygems_version: 3.2.15
304
+ signing_key:
276
305
  specification_version: 4
277
306
  summary: General http client functionality to quickly connect to JSON REST API endpoints
278
307
  and any others