my_api_client 0.26.0 → 1.0.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/.circleci/config.yml +5 -5
 - data/.rubocop.yml +1 -1
 - data/.rubocop_todo.yml +15 -4
 - data/CHANGELOG.md +55 -0
 - data/Gemfile.lock +39 -27
 - data/README.jp.md +7 -7
 - data/README.md +5 -5
 - data/example/api_clients/my_pagination_api_client.rb +11 -2
 - data/lib/my_api_client/errors/network_error.rb +1 -1
 - data/lib/my_api_client/errors.rb +1 -1
 - data/lib/my_api_client/request/basic.rb +10 -2
 - data/lib/my_api_client/request/pagination.rb +23 -2
 - data/lib/my_api_client/rspec/stub.rb +1 -0
 - data/lib/my_api_client/service_abstract.rb +2 -2
 - data/lib/my_api_client/version.rb +1 -1
 - data/my_api/.ruby-version +1 -1
 - data/my_api/Gemfile +2 -2
 - data/my_api/Gemfile.lock +77 -76
 - data/my_api/public/index.html +2 -2
 - data/my_api_client.gemspec +2 -2
 - metadata +6 -38
 - data/gemfiles/rails_6.0.gemfile +0 -16
 - data/rails_app/rails_6.0/.rspec +0 -3
 - data/rails_app/rails_6.0/Gemfile +0 -18
 - data/rails_app/rails_6.0/Gemfile.lock +0 -188
 - data/rails_app/rails_6.0/README.md +0 -24
 - data/rails_app/rails_6.0/Rakefile +0 -8
 - data/rails_app/rails_6.0/app/controllers/application_controller.rb +0 -4
 - data/rails_app/rails_6.0/app/jobs/application_job.rb +0 -9
 - data/rails_app/rails_6.0/bin/rails +0 -6
 - data/rails_app/rails_6.0/bin/rake +0 -6
 - data/rails_app/rails_6.0/bin/setup +0 -27
 - data/rails_app/rails_6.0/config/application.rb +0 -39
 - data/rails_app/rails_6.0/config/boot.rb +0 -6
 - data/rails_app/rails_6.0/config/credentials.yml.enc +0 -1
 - data/rails_app/rails_6.0/config/environment.rb +0 -7
 - data/rails_app/rails_6.0/config/environments/development.rb +0 -39
 - data/rails_app/rails_6.0/config/environments/production.rb +0 -90
 - data/rails_app/rails_6.0/config/environments/test.rb +0 -41
 - data/rails_app/rails_6.0/config/initializers/application_controller_renderer.rb +0 -9
 - data/rails_app/rails_6.0/config/initializers/backtrace_silencers.rb +0 -8
 - data/rails_app/rails_6.0/config/initializers/cors.rb +0 -17
 - data/rails_app/rails_6.0/config/initializers/filter_parameter_logging.rb +0 -6
 - data/rails_app/rails_6.0/config/initializers/inflections.rb +0 -17
 - data/rails_app/rails_6.0/config/initializers/mime_types.rb +0 -5
 - data/rails_app/rails_6.0/config/initializers/wrap_parameters.rb +0 -11
 - data/rails_app/rails_6.0/config/locales/en.yml +0 -33
 - data/rails_app/rails_6.0/config/routes.rb +0 -5
 - data/rails_app/rails_6.0/config/spring.rb +0 -8
 - data/rails_app/rails_6.0/config.ru +0 -7
 - data/rails_app/rails_6.0/public/robots.txt +0 -1
 - data/rails_app/rails_6.0/spec/rails_helper.rb +0 -14
 - data/rails_app/rails_6.0/spec/spec_helper.rb +0 -13
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 9a7c0e59912fcb57831b996cda5b2d18d6488e33609eac9c1cc227b8d2699177
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6cf555c678a2537db8fe85dfe2c6a98385c61d00b92bc4d931c3bfdfdf04442b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 289f20431d12e8c625e15da365c85607da2324cb4990f8ad100ef8fd31b1c1acd5dae6e964b20191ef4be3b98518b77c792e5a5616d4e506cf01407f5038f822
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 61b0c21d3b43b5492d84bd6eb5107efcf4b7f6b8573685c9f85097276ae86c97ca27beb988d7482b864b17f18a8655a1e43251bb827de36e23a1aa46e314365f
         
     | 
    
        data/.circleci/config.yml
    CHANGED
    
    | 
         @@ -12,12 +12,12 @@ references: 
     | 
|
| 
       12 
12 
     | 
    
         
             
              - &ruby_version
         
     | 
| 
       13 
13 
     | 
    
         
             
                ruby_version:
         
     | 
| 
       14 
14 
     | 
    
         
             
                  type: enum
         
     | 
| 
       15 
     | 
    
         
            -
                  enum: &ruby_version_enum [" 
     | 
| 
      
 15 
     | 
    
         
            +
                  enum: &ruby_version_enum ["3.0", "3.1", "3.2"]
         
     | 
| 
       16 
16 
     | 
    
         
             
                  default: "3.2"
         
     | 
| 
       17 
17 
     | 
    
         
             
              - &rails_version
         
     | 
| 
       18 
18 
     | 
    
         
             
                rails_version:
         
     | 
| 
       19 
19 
     | 
    
         
             
                  type: enum
         
     | 
| 
       20 
     | 
    
         
            -
                  enum: &rails_version_enum ["6. 
     | 
| 
      
 20 
     | 
    
         
            +
                  enum: &rails_version_enum ["6.1", "7.0"]
         
     | 
| 
       21 
21 
     | 
    
         
             
                  default: "7.0"
         
     | 
| 
       22 
22 
     | 
    
         
             
              - &bundler_options
         
     | 
| 
       23 
23 
     | 
    
         
             
                bundler_options:
         
     | 
| 
         @@ -153,7 +153,7 @@ commands: 
     | 
|
| 
       153 
153 
     | 
    
         
             
                      name: Install Bundler 2.x
         
     | 
| 
       154 
154 
     | 
    
         
             
                      command: gem install bundler -v '~> 2.0'
         
     | 
| 
       155 
155 
     | 
    
         
             
                  - ruby-orbs/bundle-install:
         
     | 
| 
       156 
     | 
    
         
            -
                      cache_key_prefix:  
     | 
| 
      
 156 
     | 
    
         
            +
                      cache_key_prefix: v3-dependencies-<< parameters.ruby_version >>
         
     | 
| 
       157 
157 
     | 
    
         
             
                      bundle_extra_args: << parameters.bundler_options >>
         
     | 
| 
       158 
158 
     | 
    
         
             
                      restore_bundled_with: false
         
     | 
| 
       159 
159 
     | 
    
         
             
              test_and_deploy_for_api:
         
     | 
| 
         @@ -252,7 +252,7 @@ jobs: 
     | 
|
| 
       252 
252 
     | 
    
         
             
                  - code-climate/install
         
     | 
| 
       253 
253 
     | 
    
         
             
                  - code-climate/sum-coverage:
         
     | 
| 
       254 
254 
     | 
    
         
             
                      input: codeclimate.*.json
         
     | 
| 
       255 
     | 
    
         
            -
                      parts:  
     | 
| 
      
 255 
     | 
    
         
            +
                      parts: 12
         
     | 
| 
       256 
256 
     | 
    
         
             
                  - code-climate/upload-coverage
         
     | 
| 
       257 
257 
     | 
    
         
             
              rubocop:
         
     | 
| 
       258 
258 
     | 
    
         
             
                executor: gem_executor
         
     | 
| 
         @@ -294,7 +294,7 @@ workflows: 
     | 
|
| 
       294 
294 
     | 
    
         
             
                          ruby_version: *ruby_version_enum
         
     | 
| 
       295 
295 
     | 
    
         
             
                          rails_version: *rails_version_enum
         
     | 
| 
       296 
296 
     | 
    
         
             
                  - test_api:
         
     | 
| 
       297 
     | 
    
         
            -
                      ruby_version: "2 
     | 
| 
      
 297 
     | 
    
         
            +
                      ruby_version: "3.2"
         
     | 
| 
       298 
298 
     | 
    
         
             
                  - rubocop
         
     | 
| 
       299 
299 
     | 
    
         
             
                  - yardoc
         
     | 
| 
       300 
300 
     | 
    
         
             
                  - upload-coverage:
         
     | 
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/.rubocop_todo.yml
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # This configuration was generated by
         
     | 
| 
       2 
2 
     | 
    
         
             
            # `rubocop --auto-gen-config`
         
     | 
| 
       3 
     | 
    
         
            -
            # on 2023- 
     | 
| 
      
 3 
     | 
    
         
            +
            # on 2023-11-13 01:22:13 UTC using RuboCop version 1.57.2.
         
     | 
| 
       4 
4 
     | 
    
         
             
            # The point is for the user to remove these configuration records
         
     | 
| 
       5 
5 
     | 
    
         
             
            # one by one as the offenses are removed from the code base.
         
     | 
| 
       6 
6 
     | 
    
         
             
            # Note that changes in the inspected code, or installation of new
         
     | 
| 
         @@ -14,7 +14,8 @@ Lint/EmptyBlock: 
     | 
|
| 
       14 
14 
     | 
    
         
             
                - 'spec/support/complete_about.rb'
         
     | 
| 
       15 
15 
     | 
    
         
             
                - 'spec/support/complete_within.rb'
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            # Offense count:  
     | 
| 
      
 17 
     | 
    
         
            +
            # Offense count: 6
         
     | 
| 
      
 18 
     | 
    
         
            +
            # Configuration parameters: AllowedParentClasses.
         
     | 
| 
       18 
19 
     | 
    
         
             
            Lint/MissingSuper:
         
     | 
| 
       19 
20 
     | 
    
         
             
              Exclude:
         
     | 
| 
       20 
21 
     | 
    
         
             
                - 'lib/my_api_client/error_handling/generator.rb'
         
     | 
| 
         @@ -27,17 +28,27 @@ Lint/MissingSuper: 
     | 
|
| 
       27 
28 
     | 
    
         
             
            # Offense count: 6
         
     | 
| 
       28 
29 
     | 
    
         
             
            # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
         
     | 
| 
       29 
30 
     | 
    
         
             
            # SupportedStyles: snake_case, normalcase, non_integer
         
     | 
| 
       30 
     | 
    
         
            -
            # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
         
     | 
| 
      
 31 
     | 
    
         
            +
            # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
         
     | 
| 
       31 
32 
     | 
    
         
             
            Naming/VariableNumber:
         
     | 
| 
       32 
33 
     | 
    
         
             
              Exclude:
         
     | 
| 
       33 
34 
     | 
    
         
             
                - 'spec/lib/my_api_client/error_handling_spec.rb'
         
     | 
| 
       34 
35 
     | 
    
         
             
                - 'spec/lib/my_api_client/request/executor_spec.rb'
         
     | 
| 
       35 
36 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
            # Offense count:  
     | 
| 
      
 37 
     | 
    
         
            +
            # Offense count: 103
         
     | 
| 
       37 
38 
     | 
    
         
             
            # Configuration parameters: AllowSubject.
         
     | 
| 
       38 
39 
     | 
    
         
             
            RSpec/MultipleMemoizedHelpers:
         
     | 
| 
       39 
40 
     | 
    
         
             
              Max: 15
         
     | 
| 
       40 
41 
     | 
    
         | 
| 
      
 42 
     | 
    
         
            +
            # Offense count: 3
         
     | 
| 
      
 43 
     | 
    
         
            +
            # Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
         
     | 
| 
      
 44 
     | 
    
         
            +
            # Include: **/*_spec.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            RSpec/SpecFilePathFormat:
         
     | 
| 
      
 46 
     | 
    
         
            +
              Exclude:
         
     | 
| 
      
 47 
     | 
    
         
            +
                - '**/spec/routing/**/*'
         
     | 
| 
      
 48 
     | 
    
         
            +
                - 'spec/lib/my_api_client/errors/error_spec.rb'
         
     | 
| 
      
 49 
     | 
    
         
            +
                - 'spec/lib/my_api_client/errors/network_error_spec.rb'
         
     | 
| 
      
 50 
     | 
    
         
            +
                - 'spec/lib/my_api_client/rspec/stub_spec.rb'
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       41 
52 
     | 
    
         
             
            # Offense count: 3
         
     | 
| 
       42 
53 
     | 
    
         
             
            Style/DocumentDynamicEvalDefinition:
         
     | 
| 
       43 
54 
     | 
    
         
             
              Exclude:
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,60 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Change log
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## v1.0.0 (Dec 07, 2023)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            ### Feature
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            - [#955](https://github.com/ryz310/my_api_client/pull/955) Enable Dynamic URL Generation for `#pageable_get` via `Proc` Objects ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 10 
     | 
    
         
            +
            # Example of using a Proc with pageable_get
         
     | 
| 
      
 11 
     | 
    
         
            +
            pget 'api/example', headers:, query:, paging: ->(response) {
         
     | 
| 
      
 12 
     | 
    
         
            +
              # Custom logic to generate the next URL
         
     | 
| 
      
 13 
     | 
    
         
            +
            }
         
     | 
| 
      
 14 
     | 
    
         
            +
            ```
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            ### Dependabot
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            - [#950](https://github.com/ryz310/my_api_client/pull/950) Bump faraday from 2.7.11 to 2.7.12 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            ## v0.27.0 (Nov 13, 2023)
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            ### Feature
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            - [#944](https://github.com/ryz310/my_api_client/pull/944) Add block to retrieve sawyer response ([@okumud](https://github.com/okumud))
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            ```rb
         
     | 
| 
      
 27 
     | 
    
         
            +
            api_clinet = ExampleApiClient.new(access_token: 'access_token')
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            # You can retrieve sawyer response with return value
         
     | 
| 
      
 30 
     | 
    
         
            +
            api_clinet.get_users #=> #<Sawyer::Resource>
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            # You can retrieve sawyer response with block
         
     | 
| 
      
 33 
     | 
    
         
            +
            api_clinet.get_users do |response|
         
     | 
| 
      
 34 
     | 
    
         
            +
              response #=> #<Sawyer::Response>
         
     | 
| 
      
 35 
     | 
    
         
            +
              response.headers #=> #<Hash>
         
     | 
| 
      
 36 
     | 
    
         
            +
              response.data #=> #<Sawyer::Resource>
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
| 
      
 38 
     | 
    
         
            +
            ```
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            ### Breaking Change
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            - [#931](https://github.com/ryz310/my_api_client/pull/931) End of support for ruby 2.7 and rails 6.0 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            ### Dependabot
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            - [#919](https://github.com/ryz310/my_api_client/pull/919) Bump bugsnag from 6.25.2 to 6.26.0 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 47 
     | 
    
         
            +
            - [#929](https://github.com/ryz310/my_api_client/pull/929) Bump webmock from 3.19.0 to 3.19.1 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 48 
     | 
    
         
            +
            - [#934](https://github.com/ryz310/my_api_client/pull/934) Bump rubocop-performance from 1.19.0 to 1.19.1 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 49 
     | 
    
         
            +
            - [#933](https://github.com/ryz310/my_api_client/pull/933) Bump faraday from 2.7.10 to 2.7.11 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 50 
     | 
    
         
            +
            - [#939](https://github.com/ryz310/my_api_client/pull/939) Bump jsonpath from 1.1.4 to 1.1.5 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 51 
     | 
    
         
            +
            - [#942](https://github.com/ryz310/my_api_client/pull/942) Bump rake from 13.0.6 to 13.1.0 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 52 
     | 
    
         
            +
            - [#945](https://github.com/ryz310/my_api_client/pull/945) Bump activesupport from 7.1.1 to 7.1.2 ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            ### Misc
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            - [#946](https://github.com/ryz310/my_api_client/pull/946) Fix a broken spec ([@ryz310](https://github.com/ryz310))
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
       3 
58 
     | 
    
         
             
            ## v0.26.0 (Jul 04, 2023)
         
     | 
| 
       4 
59 
     | 
    
         | 
| 
       5 
60 
     | 
    
         
             
            ### Bugfix
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,8 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                my_api_client (0. 
     | 
| 
       5 
     | 
    
         
            -
                  activesupport (>= 6. 
     | 
| 
      
 4 
     | 
    
         
            +
                my_api_client (1.0.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  activesupport (>= 6.1.0)
         
     | 
| 
       6 
6 
     | 
    
         
             
                  faraday (>= 0.17.1)
         
     | 
| 
       7 
7 
     | 
    
         
             
                  jsonpath
         
     | 
| 
       8 
8 
     | 
    
         
             
                  sawyer (>= 0.8.2)
         
     | 
| 
         @@ -10,39 +10,51 @@ PATH 
     | 
|
| 
       10 
10 
     | 
    
         
             
            GEM
         
     | 
| 
       11 
11 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       12 
12 
     | 
    
         
             
              specs:
         
     | 
| 
       13 
     | 
    
         
            -
                activesupport (7. 
     | 
| 
      
 13 
     | 
    
         
            +
                activesupport (7.1.2)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  base64
         
     | 
| 
      
 15 
     | 
    
         
            +
                  bigdecimal
         
     | 
| 
       14 
16 
     | 
    
         
             
                  concurrent-ruby (~> 1.0, >= 1.0.2)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  connection_pool (>= 2.2.5)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  drb
         
     | 
| 
       15 
19 
     | 
    
         
             
                  i18n (>= 1.6, < 2)
         
     | 
| 
       16 
20 
     | 
    
         
             
                  minitest (>= 5.1)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  mutex_m
         
     | 
| 
       17 
22 
     | 
    
         
             
                  tzinfo (~> 2.0)
         
     | 
| 
       18 
     | 
    
         
            -
                addressable (2.8. 
     | 
| 
      
 23 
     | 
    
         
            +
                addressable (2.8.5)
         
     | 
| 
       19 
24 
     | 
    
         
             
                  public_suffix (>= 2.0.2, < 6.0)
         
     | 
| 
       20 
25 
     | 
    
         
             
                ast (2.4.2)
         
     | 
| 
       21 
     | 
    
         
            -
                 
     | 
| 
      
 26 
     | 
    
         
            +
                base64 (0.2.0)
         
     | 
| 
      
 27 
     | 
    
         
            +
                bigdecimal (3.1.4)
         
     | 
| 
      
 28 
     | 
    
         
            +
                bugsnag (6.26.0)
         
     | 
| 
       22 
29 
     | 
    
         
             
                  concurrent-ruby (~> 1.0)
         
     | 
| 
       23 
30 
     | 
    
         
             
                byebug (11.1.3)
         
     | 
| 
       24 
31 
     | 
    
         
             
                coderay (1.1.3)
         
     | 
| 
       25 
32 
     | 
    
         
             
                concurrent-ruby (1.2.2)
         
     | 
| 
      
 33 
     | 
    
         
            +
                connection_pool (2.4.1)
         
     | 
| 
       26 
34 
     | 
    
         
             
                crack (0.4.5)
         
     | 
| 
       27 
35 
     | 
    
         
             
                  rexml
         
     | 
| 
       28 
36 
     | 
    
         
             
                diff-lcs (1.5.0)
         
     | 
| 
       29 
37 
     | 
    
         
             
                docile (1.4.0)
         
     | 
| 
       30 
     | 
    
         
            -
                 
     | 
| 
      
 38 
     | 
    
         
            +
                drb (2.2.0)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  ruby2_keywords
         
     | 
| 
      
 40 
     | 
    
         
            +
                faraday (2.7.12)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  base64
         
     | 
| 
       31 
42 
     | 
    
         
             
                  faraday-net_http (>= 2.0, < 3.1)
         
     | 
| 
       32 
43 
     | 
    
         
             
                  ruby2_keywords (>= 0.0.4)
         
     | 
| 
       33 
44 
     | 
    
         
             
                faraday-net_http (3.0.2)
         
     | 
| 
       34 
45 
     | 
    
         
             
                hashdiff (1.0.1)
         
     | 
| 
       35 
46 
     | 
    
         
             
                i18n (1.14.1)
         
     | 
| 
       36 
47 
     | 
    
         
             
                  concurrent-ruby (~> 1.0)
         
     | 
| 
       37 
     | 
    
         
            -
                json (2. 
     | 
| 
       38 
     | 
    
         
            -
                jsonpath (1.1. 
     | 
| 
      
 48 
     | 
    
         
            +
                json (2.7.1)
         
     | 
| 
      
 49 
     | 
    
         
            +
                jsonpath (1.1.5)
         
     | 
| 
       39 
50 
     | 
    
         
             
                  multi_json
         
     | 
| 
       40 
51 
     | 
    
         
             
                language_server-protocol (3.17.0.3)
         
     | 
| 
       41 
52 
     | 
    
         
             
                method_source (1.0.0)
         
     | 
| 
       42 
     | 
    
         
            -
                minitest (5. 
     | 
| 
      
 53 
     | 
    
         
            +
                minitest (5.20.0)
         
     | 
| 
       43 
54 
     | 
    
         
             
                multi_json (1.15.0)
         
     | 
| 
      
 55 
     | 
    
         
            +
                mutex_m (0.2.0)
         
     | 
| 
       44 
56 
     | 
    
         
             
                parallel (1.23.0)
         
     | 
| 
       45 
     | 
    
         
            -
                parser (3.2.2. 
     | 
| 
      
 57 
     | 
    
         
            +
                parser (3.2.2.4)
         
     | 
| 
       46 
58 
     | 
    
         
             
                  ast (~> 2.4.1)
         
     | 
| 
       47 
59 
     | 
    
         
             
                  racc
         
     | 
| 
       48 
60 
     | 
    
         
             
                pry (0.14.2)
         
     | 
| 
         @@ -51,12 +63,12 @@ GEM 
     | 
|
| 
       51 
63 
     | 
    
         
             
                pry-byebug (3.10.1)
         
     | 
| 
       52 
64 
     | 
    
         
             
                  byebug (~> 11.0)
         
     | 
| 
       53 
65 
     | 
    
         
             
                  pry (>= 0.13, < 0.15)
         
     | 
| 
       54 
     | 
    
         
            -
                public_suffix (5.0. 
     | 
| 
       55 
     | 
    
         
            -
                racc (1.7. 
     | 
| 
      
 66 
     | 
    
         
            +
                public_suffix (5.0.4)
         
     | 
| 
      
 67 
     | 
    
         
            +
                racc (1.7.3)
         
     | 
| 
       56 
68 
     | 
    
         
             
                rainbow (3.1.1)
         
     | 
| 
       57 
     | 
    
         
            -
                rake (13.0 
     | 
| 
       58 
     | 
    
         
            -
                regexp_parser (2.8. 
     | 
| 
       59 
     | 
    
         
            -
                rexml (3.2. 
     | 
| 
      
 69 
     | 
    
         
            +
                rake (13.1.0)
         
     | 
| 
      
 70 
     | 
    
         
            +
                regexp_parser (2.8.3)
         
     | 
| 
      
 71 
     | 
    
         
            +
                rexml (3.2.6)
         
     | 
| 
       60 
72 
     | 
    
         
             
                rspec (3.12.0)
         
     | 
| 
       61 
73 
     | 
    
         
             
                  rspec-core (~> 3.12.0)
         
     | 
| 
       62 
74 
     | 
    
         
             
                  rspec-expectations (~> 3.12.0)
         
     | 
| 
         @@ -66,36 +78,36 @@ GEM 
     | 
|
| 
       66 
78 
     | 
    
         
             
                rspec-expectations (3.12.3)
         
     | 
| 
       67 
79 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       68 
80 
     | 
    
         
             
                  rspec-support (~> 3.12.0)
         
     | 
| 
       69 
     | 
    
         
            -
                rspec-mocks (3.12. 
     | 
| 
      
 81 
     | 
    
         
            +
                rspec-mocks (3.12.6)
         
     | 
| 
       70 
82 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       71 
83 
     | 
    
         
             
                  rspec-support (~> 3.12.0)
         
     | 
| 
       72 
84 
     | 
    
         
             
                rspec-support (3.12.1)
         
     | 
| 
       73 
85 
     | 
    
         
             
                rspec_junit_formatter (0.6.0)
         
     | 
| 
       74 
86 
     | 
    
         
             
                  rspec-core (>= 2, < 4, != 2.12.0)
         
     | 
| 
       75 
     | 
    
         
            -
                rubocop (1. 
     | 
| 
      
 87 
     | 
    
         
            +
                rubocop (1.58.0)
         
     | 
| 
       76 
88 
     | 
    
         
             
                  json (~> 2.3)
         
     | 
| 
       77 
89 
     | 
    
         
             
                  language_server-protocol (>= 3.17.0)
         
     | 
| 
       78 
90 
     | 
    
         
             
                  parallel (~> 1.10)
         
     | 
| 
       79 
     | 
    
         
            -
                  parser (>= 3.2.2. 
     | 
| 
      
 91 
     | 
    
         
            +
                  parser (>= 3.2.2.4)
         
     | 
| 
       80 
92 
     | 
    
         
             
                  rainbow (>= 2.2.2, < 4.0)
         
     | 
| 
       81 
93 
     | 
    
         
             
                  regexp_parser (>= 1.8, < 3.0)
         
     | 
| 
       82 
94 
     | 
    
         
             
                  rexml (>= 3.2.5, < 4.0)
         
     | 
| 
       83 
     | 
    
         
            -
                  rubocop-ast (>= 1. 
     | 
| 
      
 95 
     | 
    
         
            +
                  rubocop-ast (>= 1.30.0, < 2.0)
         
     | 
| 
       84 
96 
     | 
    
         
             
                  ruby-progressbar (~> 1.7)
         
     | 
| 
       85 
97 
     | 
    
         
             
                  unicode-display_width (>= 2.4.0, < 3.0)
         
     | 
| 
       86 
     | 
    
         
            -
                rubocop-ast (1. 
     | 
| 
      
 98 
     | 
    
         
            +
                rubocop-ast (1.30.0)
         
     | 
| 
       87 
99 
     | 
    
         
             
                  parser (>= 3.2.1.0)
         
     | 
| 
       88 
     | 
    
         
            -
                rubocop-capybara (2. 
     | 
| 
      
 100 
     | 
    
         
            +
                rubocop-capybara (2.19.0)
         
     | 
| 
       89 
101 
     | 
    
         
             
                  rubocop (~> 1.41)
         
     | 
| 
       90 
     | 
    
         
            -
                rubocop-factory_bot (2. 
     | 
| 
      
 102 
     | 
    
         
            +
                rubocop-factory_bot (2.24.0)
         
     | 
| 
       91 
103 
     | 
    
         
             
                  rubocop (~> 1.33)
         
     | 
| 
       92 
     | 
    
         
            -
                rubocop-performance (1. 
     | 
| 
      
 104 
     | 
    
         
            +
                rubocop-performance (1.19.1)
         
     | 
| 
       93 
105 
     | 
    
         
             
                  rubocop (>= 1.7.0, < 2.0)
         
     | 
| 
       94 
106 
     | 
    
         
             
                  rubocop-ast (>= 0.4.0)
         
     | 
| 
       95 
107 
     | 
    
         
             
                rubocop-rake (0.6.0)
         
     | 
| 
       96 
108 
     | 
    
         
             
                  rubocop (~> 1.0)
         
     | 
| 
       97 
     | 
    
         
            -
                rubocop-rspec (2. 
     | 
| 
       98 
     | 
    
         
            -
                  rubocop (~> 1. 
     | 
| 
      
 109 
     | 
    
         
            +
                rubocop-rspec (2.25.0)
         
     | 
| 
      
 110 
     | 
    
         
            +
                  rubocop (~> 1.40)
         
     | 
| 
       99 
111 
     | 
    
         
             
                  rubocop-capybara (~> 2.17)
         
     | 
| 
       100 
112 
     | 
    
         
             
                  rubocop-factory_bot (~> 2.22)
         
     | 
| 
       101 
113 
     | 
    
         
             
                ruby-progressbar (1.13.0)
         
     | 
| 
         @@ -111,8 +123,8 @@ GEM 
     | 
|
| 
       111 
123 
     | 
    
         
             
                simplecov_json_formatter (0.1.4)
         
     | 
| 
       112 
124 
     | 
    
         
             
                tzinfo (2.0.6)
         
     | 
| 
       113 
125 
     | 
    
         
             
                  concurrent-ruby (~> 1.0)
         
     | 
| 
       114 
     | 
    
         
            -
                unicode-display_width (2. 
     | 
| 
       115 
     | 
    
         
            -
                webmock (3. 
     | 
| 
      
 126 
     | 
    
         
            +
                unicode-display_width (2.5.0)
         
     | 
| 
      
 127 
     | 
    
         
            +
                webmock (3.19.1)
         
     | 
| 
       116 
128 
     | 
    
         
             
                  addressable (>= 2.8.0)
         
     | 
| 
       117 
129 
     | 
    
         
             
                  crack (>= 0.3.2)
         
     | 
| 
       118 
130 
     | 
    
         
             
                  hashdiff (>= 0.4.0, < 2.0.0)
         
     | 
    
        data/README.jp.md
    CHANGED
    
    | 
         @@ -12,8 +12,8 @@ MyApiClient は API リクエストクラスを作成するための汎用的な 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            ## Supported Versions
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            - Ruby  
     | 
| 
       16 
     | 
    
         
            -
            - Rails 6. 
     | 
| 
      
 15 
     | 
    
         
            +
            - Ruby 3.0, 3.1, 3.2
         
     | 
| 
      
 16 
     | 
    
         
            +
            - Rails 6.1, 7.0
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
            ## Installation
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
         @@ -52,7 +52,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
              # GET https://example.com/v1/users
         
     | 
| 
       54 
54 
     | 
    
         
             
              #
         
     | 
| 
       55 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 55 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       56 
56 
     | 
    
         
             
              def get_users
         
     | 
| 
       57 
57 
     | 
    
         
             
                get 'users', headers: headers, query: { key: 'value' }
         
     | 
| 
       58 
58 
     | 
    
         
             
              end
         
     | 
| 
         @@ -60,7 +60,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       60 
60 
     | 
    
         
             
              # POST https://example.com/v1/users
         
     | 
| 
       61 
61 
     | 
    
         
             
              #
         
     | 
| 
       62 
62 
     | 
    
         
             
              # @param name [String] Username which want to create
         
     | 
| 
       63 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 63 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       64 
64 
     | 
    
         
             
              def post_user(name:)
         
     | 
| 
       65 
65 
     | 
    
         
             
                post 'users', headers: headers, body: { name: name }
         
     | 
| 
       66 
66 
     | 
    
         
             
              end
         
     | 
| 
         @@ -76,7 +76,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       76 
76 
     | 
    
         
             
            end
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
            api_clinet = ExampleApiClient.new(access_token: 'access_token')
         
     | 
| 
       79 
     | 
    
         
            -
            api_clinet.get_users #=> #<Sawyer:: 
     | 
| 
      
 79 
     | 
    
         
            +
            api_clinet.get_users #=> #<Sawyer::Resource>
         
     | 
| 
       80 
80 
     | 
    
         
             
            ```
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
            クラス定義の最初に記述される `endpoint` にはリクエスト URL の共通部分を定義します。後述の各メソッドで後続の path を定義しますが、上記の例だと `get 'users'` と定義すると、 `GET https://example.com/v1/users` というリクエストが実行されます。
         
     | 
| 
         @@ -416,7 +416,7 @@ class GetUsersApiClient < ExampleApiClient 
     | 
|
| 
       416 
416 
     | 
    
         | 
| 
       417 
417 
     | 
    
         
             
              # GET https://example.com/users
         
     | 
| 
       418 
418 
     | 
    
         
             
              #
         
     | 
| 
       419 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 419 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       420 
420 
     | 
    
         
             
              def request
         
     | 
| 
       421 
421 
     | 
    
         
             
                get 'users', query: { key: 'value' }, headers: headers
         
     | 
| 
       422 
422 
     | 
    
         
             
              end
         
     | 
| 
         @@ -428,7 +428,7 @@ class PostUserApiClient < ExampleApiClient 
     | 
|
| 
       428 
428 
     | 
    
         
             
              # POST https://example.com/users
         
     | 
| 
       429 
429 
     | 
    
         
             
              #
         
     | 
| 
       430 
430 
     | 
    
         
             
              # @param name [String] Username which want to create
         
     | 
| 
       431 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 431 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       432 
432 
     | 
    
         
             
              def request(name:)
         
     | 
| 
       433 
433 
     | 
    
         
             
                post 'users', headers: headers, body: { name: name }
         
     | 
| 
       434 
434 
     | 
    
         
             
              end
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -16,8 +16,8 @@ It is supposed to be used in Ruby on Rails, but it is made to work in other envi 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            ## Supported Versions
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
            - Ruby  
     | 
| 
       20 
     | 
    
         
            -
            - Rails 6. 
     | 
| 
      
 19 
     | 
    
         
            +
            - Ruby 3.0, 3.1, 3.2
         
     | 
| 
      
 20 
     | 
    
         
            +
            - Rails 6.1, 7.0
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            ## Installation
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
         @@ -56,7 +56,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       56 
56 
     | 
    
         | 
| 
       57 
57 
     | 
    
         
             
              # GET https://example.com/v1/users
         
     | 
| 
       58 
58 
     | 
    
         
             
              #
         
     | 
| 
       59 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 59 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       60 
60 
     | 
    
         
             
              def get_users
         
     | 
| 
       61 
61 
     | 
    
         
             
                get 'users', headers: headers, query: { key: 'value' }
         
     | 
| 
       62 
62 
     | 
    
         
             
              end
         
     | 
| 
         @@ -64,7 +64,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       64 
64 
     | 
    
         
             
              # POST https://example.com/v1/users
         
     | 
| 
       65 
65 
     | 
    
         
             
              #
         
     | 
| 
       66 
66 
     | 
    
         
             
              # @param name [String] Username which want to create
         
     | 
| 
       67 
     | 
    
         
            -
              # @return [Sawyer:: 
     | 
| 
      
 67 
     | 
    
         
            +
              # @return [Sawyer::Resource] HTTP resource parameter
         
     | 
| 
       68 
68 
     | 
    
         
             
              def post_user(name:)
         
     | 
| 
       69 
69 
     | 
    
         
             
                post 'users', headers: headers, body: { name: name }
         
     | 
| 
       70 
70 
     | 
    
         
             
              end
         
     | 
| 
         @@ -80,7 +80,7 @@ class ExampleApiClient < MyApiClient::Base 
     | 
|
| 
       80 
80 
     | 
    
         
             
            end
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
            api_clinet = ExampleApiClient.new(access_token: 'access_token')
         
     | 
| 
       83 
     | 
    
         
            -
            api_clinet.get_users #=> #<Sawyer:: 
     | 
| 
      
 83 
     | 
    
         
            +
            api_clinet.get_users #=> #<Sawyer::Resource>
         
     | 
| 
       84 
84 
     | 
    
         
             
            ```
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
            The `endpoint` defines the intersection of the request URL. Each method described below defines a subsequent path. In the above example, `get 'users'` will request to `GET https://example.com/v1/users`.
         
     | 
| 
         @@ -5,9 +5,18 @@ require_relative 'application_api_client' 
     | 
|
| 
       5 
5 
     | 
    
         
             
            # An usage example of the `my_api_client`.
         
     | 
| 
       6 
6 
     | 
    
         
             
            # See also: my_api/app/controllers/pagination_controller.rb
         
     | 
| 
       7 
7 
     | 
    
         
             
            class MyPaginationApiClient < ApplicationApiClient
         
     | 
| 
      
 8 
     | 
    
         
            +
              # Paging with JSONPath
         
     | 
| 
       8 
9 
     | 
    
         
             
              # GET pagination?page=1
         
     | 
| 
       9 
     | 
    
         
            -
              def  
     | 
| 
       10 
     | 
    
         
            -
                pget 'pagination',  
     | 
| 
      
 10 
     | 
    
         
            +
              def paging_with_jsonpath
         
     | 
| 
      
 11 
     | 
    
         
            +
                pget 'pagination', headers: headers, query: { page: 1 }, paging: '$.links.next'
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              # Paging with Proc
         
     | 
| 
      
 15 
     | 
    
         
            +
              # GET pagination?page=1
         
     | 
| 
      
 16 
     | 
    
         
            +
              def paging_with_proc
         
     | 
| 
      
 17 
     | 
    
         
            +
                pget 'pagination', headers: headers, query: { page: 1 }, paging: lambda { |response|
         
     | 
| 
      
 18 
     | 
    
         
            +
                  response.data.links.next
         
     | 
| 
      
 19 
     | 
    
         
            +
                }
         
     | 
| 
       11 
20 
     | 
    
         
             
              end
         
     | 
| 
       12 
21 
     | 
    
         | 
| 
       13 
22 
     | 
    
         
             
              private
         
     | 
| 
         @@ -23,7 +23,7 @@ module MyApiClient 
     | 
|
| 
       23 
23 
     | 
    
         
             
                #   Some network error
         
     | 
| 
       24 
24 
     | 
    
         
             
                def initialize(params = nil, original_error = nil)
         
     | 
| 
       25 
25 
     | 
    
         
             
                  @original_error = original_error
         
     | 
| 
       26 
     | 
    
         
            -
                  super 
     | 
| 
      
 26 
     | 
    
         
            +
                  super(params, original_error&.message)
         
     | 
| 
       27 
27 
     | 
    
         
             
                end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                # Returns contents as string for to be readable for human
         
     | 
    
        data/lib/my_api_client/errors.rb
    CHANGED
    
    
| 
         @@ -20,10 +20,18 @@ module MyApiClient 
     | 
|
| 
       20 
20 
     | 
    
         
             
                      # @param body [Hash, nil]
         
     | 
| 
       21 
21 
     | 
    
         
             
                      #   Request body. You should not specify it when use GET method.
         
     | 
| 
       22 
22 
     | 
    
         
             
                      # @return [Sawyer::Resource]
         
     | 
| 
       23 
     | 
    
         
            -
                      #   Response body instance.
         
     | 
| 
      
 23 
     | 
    
         
            +
                      #   Response body instance if the block is not given.
         
     | 
| 
      
 24 
     | 
    
         
            +
                      # @yield
         
     | 
| 
      
 25 
     | 
    
         
            +
                      #   Process the response body with the given block.
         
     | 
| 
      
 26 
     | 
    
         
            +
                      # @yieldparam response [Sawyer::Response]
         
     | 
| 
      
 27 
     | 
    
         
            +
                      #   Response instance.
         
     | 
| 
      
 28 
     | 
    
         
            +
                      # @yieldreturn [Object]
         
     | 
| 
      
 29 
     | 
    
         
            +
                      #   The block result.
         
     | 
| 
      
 30 
     | 
    
         
            +
                      # @return [Object]
         
     | 
| 
      
 31 
     | 
    
         
            +
                      #   Whatever the block returns if the block is given.
         
     | 
| 
       24 
32 
     | 
    
         
             
                      def #{http_method}(pathname, headers: nil, query: nil, body: nil)
         
     | 
| 
       25 
33 
     | 
    
         
             
                        response = call(:_request_with_relative_uri, :#{http_method}, pathname, headers, query, body)
         
     | 
| 
       26 
     | 
    
         
            -
                        response.data
         
     | 
| 
      
 34 
     | 
    
         
            +
                        block_given? ? yield(response) : response.data
         
     | 
| 
       27 
35 
     | 
    
         
             
                      end
         
     | 
| 
       28 
36 
     | 
    
         
             
                    METHOD
         
     | 
| 
       29 
37 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -9,7 +9,7 @@ module MyApiClient 
     | 
|
| 
       9 
9 
     | 
    
         
             
                  #
         
     | 
| 
       10 
10 
     | 
    
         
             
                  # @param pathname [String]
         
     | 
| 
       11 
11 
     | 
    
         
             
                  #   Pathname of the request target URL. It's joined with the defined by `endpoint`.
         
     | 
| 
       12 
     | 
    
         
            -
                  # @param paging [String]
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # @param paging [String, Proc]
         
     | 
| 
       13 
13 
     | 
    
         
             
                  #   Specify the pagination link path included in the response body as JsonPath expression
         
     | 
| 
       14 
14 
     | 
    
         
             
                  # @param headers [Hash, nil]
         
     | 
| 
       15 
15 
     | 
    
         
             
                  #   Request headers.
         
     | 
| 
         @@ -25,7 +25,7 @@ module MyApiClient 
     | 
|
| 
       25 
25 
     | 
    
         
             
                      loop do
         
     | 
| 
       26 
26 
     | 
    
         
             
                        y << response.data
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
                        next_uri =  
     | 
| 
      
 28 
     | 
    
         
            +
                        next_uri = get_next_url(paging, response)
         
     | 
| 
       29 
29 
     | 
    
         
             
                        break if next_uri.blank?
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                        response = call(:_request_with_absolute_uri, :get, next_uri, headers, nil)
         
     | 
| 
         @@ -34,6 +34,27 @@ module MyApiClient 
     | 
|
| 
       34 
34 
     | 
    
         
             
                  end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                  alias pget pageable_get
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  private
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  # Returns the next URL for pagination
         
     | 
| 
      
 41 
     | 
    
         
            +
                  #
         
     | 
| 
      
 42 
     | 
    
         
            +
                  # @param paging [String, Proc]
         
     | 
| 
      
 43 
     | 
    
         
            +
                  #   Specify the pagination link path included in the response body as JsonPath expression
         
     | 
| 
      
 44 
     | 
    
         
            +
                  # @param response [MyApiClient::Response]
         
     | 
| 
      
 45 
     | 
    
         
            +
                  #   The response object
         
     | 
| 
      
 46 
     | 
    
         
            +
                  # @return [String, nil]
         
     | 
| 
      
 47 
     | 
    
         
            +
                  #   The next URL for pagination
         
     | 
| 
      
 48 
     | 
    
         
            +
                  def get_next_url(paging, response)
         
     | 
| 
      
 49 
     | 
    
         
            +
                    case paging
         
     | 
| 
      
 50 
     | 
    
         
            +
                    when String
         
     | 
| 
      
 51 
     | 
    
         
            +
                      JsonPath.new(paging).first(response.body)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    when Proc
         
     | 
| 
      
 53 
     | 
    
         
            +
                      paging.call(response)
         
     | 
| 
      
 54 
     | 
    
         
            +
                    else
         
     | 
| 
      
 55 
     | 
    
         
            +
                      raise ArgumentError, "Invalid paging argument: #{paging}"
         
     | 
| 
      
 56 
     | 
    
         
            +
                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
       37 
58 
     | 
    
         
             
                end
         
     | 
| 
       38 
59 
     | 
    
         
             
              end
         
     | 
| 
       39 
60 
     | 
    
         
             
            end
         
     | 
    
        data/my_api/.ruby-version
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            3.0.6
         
     | 
    
        data/my_api/Gemfile
    CHANGED
    
    | 
         @@ -2,12 +2,12 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            source 'https://rubygems.org'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            gem 'jets', '~> 4.0. 
     | 
| 
      
 5 
     | 
    
         
            +
            gem 'jets', '~> 4.0.10'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            gem 'dynomite'
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            # See: https://github.com/boltops-tools/jets/issues/523
         
     | 
| 
       10 
     | 
    
         
            -
            gem 'nokogiri', '~> 1.15. 
     | 
| 
      
 10 
     | 
    
         
            +
            gem 'nokogiri', '~> 1.15.5'
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            # development and test groups are not bundled as part of the deployment
         
     | 
| 
       13 
13 
     | 
    
         
             
            group :development, :test do
         
     |