restful_resource 2.16.0 → 2.18.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/CHANGELOG.md +11 -0
- data/lib/restful_resource/base.rb +2 -0
- data/lib/restful_resource/http_client.rb +3 -6
- data/lib/restful_resource/railtie.rb +7 -0
- data/lib/restful_resource/strict_open_struct.rb +1 -1
- data/lib/restful_resource/version.rb +1 -1
- data/lib/restful_resource.rb +1 -0
- data/restful_resource.gemspec +0 -1
- data/spec/restful_resource/http_client_configuration_spec.rb +2 -2
- data/spec/restful_resource/http_client_spec.rb +3 -3
- data/spec/restful_resource/strict_open_struct_spec.rb +8 -4
- metadata +7 -20
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4f45c7bb4d3a312e9e03f80bb613672260ea6db0d7eb025cd5b8f8e347c242ff
         | 
| 4 | 
            +
              data.tar.gz: 5afb32e079d5006ca35680ae356ca657d4e66bee19432a3a797a0a377dea0ac6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b3b92083d51ee14c66d5f8640b56119d734b277a1a0cde77f6b44f8f18dfaa90f71a66d53b696a3b8c53734d78952032a0da1d746055e84cf6ce82abe54195ff
         | 
| 7 | 
            +
              data.tar.gz: fcf23240eca478b98a05df1fc26680c1028873da7b9588c96635fab52be1bb91811cf8ac30f94a5b60c7a445e0daf162b43764ceca9503f9a3c862c5e386b6b8
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,4 +1,15 @@ | |
| 1 1 | 
             
            # Changelog
         | 
| 2 | 
            +
            2.18
         | 
| 3 | 
            +
            ---
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            - Configure Faraday's default adapter as `net_http`
         | 
| 6 | 
            +
            - Fix `X-Client-Start` & `X-Client-Timeout` headers to be strings not integers
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            2.17
         | 
| 9 | 
            +
            ---
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            - Re-add deprecation for :dig and :[] since they are still used by some clients
         | 
| 12 | 
            +
             | 
| 2 13 | 
             
            2.16
         | 
| 3 14 | 
             
            ---
         | 
| 4 15 |  | 
| @@ -1,6 +1,3 @@ | |
| 1 | 
            -
            # Use the Faraday-Typhoeus adapter provided by Typhoeus, not Faraday
         | 
| 2 | 
            -
            require 'typhoeus/adapters/faraday'
         | 
| 3 | 
            -
             | 
| 4 1 | 
             
            module RestfulResource
         | 
| 5 2 | 
             
              class HttpClient
         | 
| 6 3 | 
             
                class HttpError < StandardError
         | 
| @@ -240,7 +237,7 @@ module RestfulResource | |
| 240 237 | 
             
                    b.response :encoding
         | 
| 241 238 | 
             
                    b.use :gzip
         | 
| 242 239 |  | 
| 243 | 
            -
                    b.adapter  | 
| 240 | 
            +
                    b.adapter Faraday.default_adapter
         | 
| 244 241 | 
             
                  end
         | 
| 245 242 | 
             
                end
         | 
| 246 243 |  | 
| @@ -261,7 +258,7 @@ module RestfulResource | |
| 261 258 | 
             
                    req.url request.url
         | 
| 262 259 |  | 
| 263 260 | 
             
                    req.headers = req.headers.merge(request.headers).merge(x_client_start: time_current_ms)
         | 
| 264 | 
            -
                    req.headers = req.headers.merge(x_client_timeout: req.options[:timeout]) if req.options[:timeout]
         | 
| 261 | 
            +
                    req.headers = req.headers.merge(x_client_timeout: req.options[:timeout]&.to_s) if req.options[:timeout]
         | 
| 265 262 | 
             
                  end
         | 
| 266 263 |  | 
| 267 264 | 
             
                  Response.new(body: response.body, headers: response.headers, status: response.status)
         | 
| @@ -295,7 +292,7 @@ module RestfulResource | |
| 295 292 | 
             
                end
         | 
| 296 293 |  | 
| 297 294 | 
             
                def time_current_ms
         | 
| 298 | 
            -
                  (Time.current.to_f * 1_000.0).to_i
         | 
| 295 | 
            +
                  (Time.current.to_f * 1_000.0).to_i.to_s
         | 
| 299 296 | 
             
                end
         | 
| 300 297 | 
             
              end
         | 
| 301 298 | 
             
            end
         | 
    
        data/lib/restful_resource.rb
    CHANGED
    
    | @@ -24,3 +24,4 @@ require_relative 'restful_resource/redirections' | |
| 24 24 | 
             
            require_relative 'restful_resource/instrumentation'
         | 
| 25 25 | 
             
            require_relative 'restful_resource/base'
         | 
| 26 26 | 
             
            require_relative 'restful_resource/strict_open_struct'
         | 
| 27 | 
            +
            require_relative 'restful_resource/railtie' if defined?(Rails::Railtie)
         | 
    
        data/restful_resource.gemspec
    CHANGED
    
    
| @@ -18,8 +18,8 @@ describe RestfulResource::HttpClient do | |
| 18 18 | 
             
                let(:middleware) { connection.builder.handlers }
         | 
| 19 19 |  | 
| 20 20 | 
             
                describe 'Builder configuration' do
         | 
| 21 | 
            -
                  it 'uses the  | 
| 22 | 
            -
                    expect(connection.adapter).to eq Faraday::Adapter:: | 
| 21 | 
            +
                  it 'uses the net http adapter' do
         | 
| 22 | 
            +
                    expect(connection.adapter).to eq Faraday::Adapter::NetHttp
         | 
| 23 23 | 
             
                  end
         | 
| 24 24 |  | 
| 25 25 | 
             
                  it 'url_encodes requests' do
         | 
| @@ -221,7 +221,7 @@ RSpec.describe RestfulResource::HttpClient do | |
| 221 221 |  | 
| 222 222 | 
             
                context 'when explicit timeout set on connection' do
         | 
| 223 223 | 
             
                  let(:timeout) { 5 }
         | 
| 224 | 
            -
                  let(:required_headers) { { 'X-Client-Timeout' => 5 } }
         | 
| 224 | 
            +
                  let(:required_headers) { { 'X-Client-Timeout' => '5' } }
         | 
| 225 225 |  | 
| 226 226 | 
             
                  it 'sets X-Client-Timeout correctly' do
         | 
| 227 227 | 
             
                    response = http_client.get('http://httpbin.org/get')
         | 
| @@ -243,7 +243,7 @@ RSpec.describe RestfulResource::HttpClient do | |
| 243 243 |  | 
| 244 244 | 
             
                context 'when set on request' do
         | 
| 245 245 | 
             
                  let(:timeout) { nil }
         | 
| 246 | 
            -
                  let(:required_headers) { { 'X-Client-Timeout' => 1 } }
         | 
| 246 | 
            +
                  let(:required_headers) { { 'X-Client-Timeout' => '1' } }
         | 
| 247 247 |  | 
| 248 248 | 
             
                  it 'sets X-Client-Timeout correctly' do
         | 
| 249 249 | 
             
                    response = http_client.get('http://httpbin.org/get', timeout: 1)
         | 
| @@ -255,7 +255,7 @@ RSpec.describe RestfulResource::HttpClient do | |
| 255 255 |  | 
| 256 256 | 
             
              describe 'X-Client-Start' do
         | 
| 257 257 | 
             
                let(:now) { Time.current }
         | 
| 258 | 
            -
                let(:required_headers) { { 'X-Client-Start' => (now.to_f * 1000.0).to_i } }
         | 
| 258 | 
            +
                let(:required_headers) { { 'X-Client-Start' => (now.to_f * 1000.0).to_i.to_s } }
         | 
| 259 259 | 
             
                let(:http_client) { described_class.new(connection: connection) }
         | 
| 260 260 | 
             
                let(:connection) do
         | 
| 261 261 | 
             
                  conn = faraday_connection do |stubs|
         | 
| @@ -4,14 +4,18 @@ RSpec.describe RestfulResource::StrictOpenStruct do | |
| 4 4 | 
             
              let(:instance) { described_class.new(foo: 'bar') }
         | 
| 5 5 |  | 
| 6 6 | 
             
              describe '#dig' do
         | 
| 7 | 
            -
                it 'is  | 
| 8 | 
            -
                  expect { instance.dig(:foo) }.to  | 
| 7 | 
            +
                it 'is deprecated' do
         | 
| 8 | 
            +
                  expect { instance.dig(:foo) }.to output(
         | 
| 9 | 
            +
                    /dig is deprecated and will be removed from restful_resource soon/
         | 
| 10 | 
            +
                  ).to_stderr
         | 
| 9 11 | 
             
                end
         | 
| 10 12 | 
             
              end
         | 
| 11 13 |  | 
| 12 14 | 
             
              describe '#[]' do
         | 
| 13 | 
            -
                it 'is  | 
| 14 | 
            -
                  expect { instance[:foo] }.to  | 
| 15 | 
            +
                it 'is deprecated' do
         | 
| 16 | 
            +
                  expect { instance[:foo] }.to output(
         | 
| 17 | 
            +
                    /\[\] is deprecated and will be removed from restful_resource soon/
         | 
| 18 | 
            +
                  ).to_stderr
         | 
| 15 19 | 
             
                end
         | 
| 16 20 | 
             
              end
         | 
| 17 21 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: restful_resource
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.18.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Santoro
         | 
| 8 8 | 
             
            - Federico Rebora
         | 
| 9 | 
            -
            autorequire: | 
| 9 | 
            +
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2024-03- | 
| 12 | 
            +
            date: 2024-03-06 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: bundler
         | 
| @@ -227,20 +227,6 @@ dependencies: | |
| 227 227 | 
             
                - - "~>"
         | 
| 228 228 | 
             
                  - !ruby/object:Gem::Version
         | 
| 229 229 | 
             
                    version: '2.2'
         | 
| 230 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 231 | 
            -
              name: typhoeus
         | 
| 232 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 233 | 
            -
                requirements:
         | 
| 234 | 
            -
                - - "~>"
         | 
| 235 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 236 | 
            -
                    version: '1.4'
         | 
| 237 | 
            -
              type: :runtime
         | 
| 238 | 
            -
              prerelease: false
         | 
| 239 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 240 | 
            -
                requirements:
         | 
| 241 | 
            -
                - - "~>"
         | 
| 242 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 243 | 
            -
                    version: '1.4'
         | 
| 244 230 | 
             
            description: A simple activerecord inspired rest resource base class implemented using
         | 
| 245 231 | 
             
              rest-client
         | 
| 246 232 | 
             
            email:
         | 
| @@ -273,6 +259,7 @@ files: | |
| 273 259 | 
             
            - lib/restful_resource/paginated_array.rb
         | 
| 274 260 | 
             
            - lib/restful_resource/parameter_missing_error.rb
         | 
| 275 261 | 
             
            - lib/restful_resource/rails_validations.rb
         | 
| 262 | 
            +
            - lib/restful_resource/railtie.rb
         | 
| 276 263 | 
             
            - lib/restful_resource/redirections.rb
         | 
| 277 264 | 
             
            - lib/restful_resource/request.rb
         | 
| 278 265 | 
             
            - lib/restful_resource/resource_id_missing_error.rb
         | 
| @@ -296,7 +283,7 @@ homepage: http://www.github.com/carwow/restful_resource | |
| 296 283 | 
             
            licenses:
         | 
| 297 284 | 
             
            - MIT
         | 
| 298 285 | 
             
            metadata: {}
         | 
| 299 | 
            -
            post_install_message: | 
| 286 | 
            +
            post_install_message:
         | 
| 300 287 | 
             
            rdoc_options: []
         | 
| 301 288 | 
             
            require_paths:
         | 
| 302 289 | 
             
            - lib
         | 
| @@ -311,8 +298,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 311 298 | 
             
                - !ruby/object:Gem::Version
         | 
| 312 299 | 
             
                  version: '0'
         | 
| 313 300 | 
             
            requirements: []
         | 
| 314 | 
            -
            rubygems_version: 3. | 
| 315 | 
            -
            signing_key: | 
| 301 | 
            +
            rubygems_version: 3.1.6
         | 
| 302 | 
            +
            signing_key:
         | 
| 316 303 | 
             
            specification_version: 4
         | 
| 317 304 | 
             
            summary: A simple activerecord inspired rest resource base class implemented using
         | 
| 318 305 | 
             
              rest-client
         |