restful_resource 2.19.1 → 2.19.2

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: b4459c4be8749049098a95d64b08e8a346cb456c18618a2b6b193a1774c40471
4
- data.tar.gz: c7fb405ba4295c05bced8e5129d327902972ab5c9bff5993a14edc601c15f369
3
+ metadata.gz: 14323bd6e2637680c2d405ea680e837525108165986ea58220e47517f913a8e6
4
+ data.tar.gz: 21a8cfd6e3a4830e4af1c050c237bd3e58960f6dd221e6e25f12507090ae0409
5
5
  SHA512:
6
- metadata.gz: 5be1dbbf98fcdd55c5fb812796055a2c1a90f18c8f5bec54de044f657ddc973704abdd3631eb960c051bf1d615bed443e4078dd8bf177d5f0fddb9d10c0b410d
7
- data.tar.gz: 99e2ea8349119336ade8feb58f215e909063251abb9ce363a25dd48a6b161ffc1f31375e369e8013d9405b390ba9813d0068bfc9cdf2c61e01199dff785a8da4
6
+ metadata.gz: 21dd821aec6d3131d86cfa09a5a3e34e2d6d2a87d7f1d089db67666276e603085cb109f8e66769f631df0a84225965ef88ef98a1d2820a1328e4d99beda582d0
7
+ data.tar.gz: f8a7f4c6a88f817f154b077a2b5c31ca7d80a4dc352e7a78e7cd4856667e630dd1ad0bf667dd3fd4fd2c8d449fac3f7846e4a5c4cde923c68734139bd51aa700
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
  # Changelog
2
+ 2.19.2
3
+ ---
4
+ - Drop `faraday_middleware` dependency (deprecated upstream, no Faraday 2 support). `:gzip` now uses the `faraday-gzip` gem; `:instrumentation` is a small custom middleware reproducing the previous behaviour. `faraday` stays `~> 1.10` for now.
5
+
2
6
  2.19.1
3
7
  ---
4
8
  - Update activesupport requirement to `>= 7, < 9`
@@ -0,0 +1,22 @@
1
+ require 'faraday'
2
+ require 'active_support/notifications'
3
+
4
+ module RestfulResource
5
+ # Faraday middleware that instruments requests via ActiveSupport::Notifications.
6
+ # Replaces FaradayMiddleware::Instrumentation, which the faraday_middleware gem
7
+ # does not ship a Faraday 2 compatible release of.
8
+ class InstrumentationMiddleware < Faraday::Middleware
9
+ def initialize(app, name: 'request.faraday')
10
+ super(app)
11
+ @name = name
12
+ end
13
+
14
+ def call(env)
15
+ ActiveSupport::Notifications.instrument(@name, env) do
16
+ @app.call(env)
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ Faraday::Middleware.register_middleware(instrumentation: RestfulResource::InstrumentationMiddleware)
@@ -235,7 +235,7 @@ module RestfulResource
235
235
  faraday_config&.call(b)
236
236
 
237
237
  b.response :encoding
238
- b.use :gzip
238
+ b.request :gzip
239
239
 
240
240
  b.adapter Faraday.default_adapter
241
241
  end
@@ -1,3 +1,3 @@
1
1
  module RestfulResource
2
- VERSION = '2.19.1'.freeze
2
+ VERSION = '2.19.2'.freeze
3
3
  end
@@ -2,13 +2,14 @@ require 'rack'
2
2
  require 'uri'
3
3
  require 'link_header'
4
4
  require 'faraday'
5
- require 'faraday_middleware'
5
+ require 'faraday/gzip'
6
6
  require 'faraday-http-cache'
7
7
  require 'faraday_cdn_metrics'
8
8
  require 'faraday/encoding'
9
9
  require 'active_support'
10
10
  require 'active_support/all'
11
11
  require_relative 'restful_resource/version'
12
+ require_relative 'restful_resource/faraday_instrumentation_middleware'
12
13
  require_relative 'restful_resource/null_logger'
13
14
  require_relative 'restful_resource/paginated_array'
14
15
  require_relative 'restful_resource/parameter_missing_error'
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency 'faraday', '~> 1.10'
31
31
  spec.add_dependency 'faraday-cdn-metrics', '~> 0.2'
32
32
  spec.add_dependency 'faraday-encoding'
33
+ spec.add_dependency 'faraday-gzip', '~> 2.0'
33
34
  spec.add_dependency 'faraday-http-cache', '~> 2.2'
34
- spec.add_dependency 'faraday_middleware', '~> 1.0'
35
35
  spec.add_dependency 'link_header'
36
36
  spec.add_dependency 'ostruct'
37
37
  spec.add_dependency 'rack', '~> 3'
@@ -31,13 +31,13 @@ describe RestfulResource::HttpClient do
31
31
  end
32
32
 
33
33
  it 'compresses requests' do
34
- expect(middleware).to include FaradayMiddleware::Gzip
34
+ expect(middleware).to include Faraday::Gzip::Middleware
35
35
  end
36
36
 
37
37
  describe 'instrumentation' do
38
38
  context 'with the default key' do
39
39
  it 'uses default instrumenter and key' do
40
- expect(find_middleware_args(connection, 'FaradayMiddleware::Instrumentation')).to include(name: 'http.api')
40
+ expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'http.api')
41
41
  end
42
42
  end
43
43
 
@@ -45,7 +45,7 @@ describe RestfulResource::HttpClient do
45
45
  let(:connection) { described_class.new(instrumentation: { api_name: 'my_api_name' }).instance_variable_get('@connection') }
46
46
 
47
47
  it 'uses default instrumenter with the api_name' do
48
- expect(find_middleware_args(connection, 'FaradayMiddleware::Instrumentation')).to include(name: 'http.my_api_name')
48
+ expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'http.my_api_name')
49
49
  end
50
50
  end
51
51
 
@@ -53,7 +53,7 @@ describe RestfulResource::HttpClient do
53
53
  let(:connection) { described_class.new(instrumentation: { request_instrument_name: 'foo.bar' }).instance_variable_get('@connection') }
54
54
 
55
55
  it 'uses default instrumenter with the custom key' do
56
- expect(find_middleware_args(connection, 'FaradayMiddleware::Instrumentation')).to include(name: 'foo.bar')
56
+ expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'foo.bar')
57
57
  end
58
58
  end
59
59
 
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restful_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Santoro
8
8
  - Federico Rebora
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 1980-01-02 00:00:00.000000000 Z
12
+ date: 2026-08-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -171,33 +172,33 @@ dependencies:
171
172
  - !ruby/object:Gem::Version
172
173
  version: '0'
173
174
  - !ruby/object:Gem::Dependency
174
- name: faraday-http-cache
175
+ name: faraday-gzip
175
176
  requirement: !ruby/object:Gem::Requirement
176
177
  requirements:
177
178
  - - "~>"
178
179
  - !ruby/object:Gem::Version
179
- version: '2.2'
180
+ version: '2.0'
180
181
  type: :runtime
181
182
  prerelease: false
182
183
  version_requirements: !ruby/object:Gem::Requirement
183
184
  requirements:
184
185
  - - "~>"
185
186
  - !ruby/object:Gem::Version
186
- version: '2.2'
187
+ version: '2.0'
187
188
  - !ruby/object:Gem::Dependency
188
- name: faraday_middleware
189
+ name: faraday-http-cache
189
190
  requirement: !ruby/object:Gem::Requirement
190
191
  requirements:
191
192
  - - "~>"
192
193
  - !ruby/object:Gem::Version
193
- version: '1.0'
194
+ version: '2.2'
194
195
  type: :runtime
195
196
  prerelease: false
196
197
  version_requirements: !ruby/object:Gem::Requirement
197
198
  requirements:
198
199
  - - "~>"
199
200
  - !ruby/object:Gem::Version
200
- version: '1.0'
201
+ version: '2.2'
201
202
  - !ruby/object:Gem::Dependency
202
203
  name: link_header
203
204
  requirement: !ruby/object:Gem::Requirement
@@ -265,6 +266,7 @@ files:
265
266
  - lib/restful_resource/associations.rb
266
267
  - lib/restful_resource/authorization.rb
267
268
  - lib/restful_resource/base.rb
269
+ - lib/restful_resource/faraday_instrumentation_middleware.rb
268
270
  - lib/restful_resource/http_client.rb
269
271
  - lib/restful_resource/instrumentation.rb
270
272
  - lib/restful_resource/null_logger.rb
@@ -296,6 +298,7 @@ homepage: http://www.github.com/carwow/restful_resource
296
298
  licenses:
297
299
  - MIT
298
300
  metadata: {}
301
+ post_install_message:
299
302
  rdoc_options: []
300
303
  require_paths:
301
304
  - lib
@@ -310,7 +313,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
310
313
  - !ruby/object:Gem::Version
311
314
  version: '0'
312
315
  requirements: []
313
- rubygems_version: 3.6.9
316
+ rubygems_version: 3.5.20
317
+ signing_key:
314
318
  specification_version: 4
315
319
  summary: A simple activerecord inspired rest resource base class implemented using
316
320
  rest-client