lhs 20.1.2 → 20.1.3.pre.paginationfix.1
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/lib/lhs/pagination/base.rb +7 -1
- data/lib/lhs/version.rb +1 -1
- data/spec/record/pagination_spec.rb +22 -0
- metadata +6 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 01b93ba0d7073ad916d4af31c05e3739d095729d17691d07473374547d589917
         | 
| 4 | 
            +
              data.tar.gz: 6a1f7462a292f695c45b1b0d6659415b75cdcbc282b9cdd6740cbe2a24245ab8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1b1834964ca5704e3e3170933127fcb1dfcd92f19293f1b87a64374387965f1f8f0ed13e543f1959b8aa5292a940706f1f0fa524bfff465b47a9c5c5459a052d
         | 
| 7 | 
            +
              data.tar.gz: c9f9f5c5dc3b7ba0f1759080442f4bc80735ac8e2f664ecf9608ed5b345fb0a565858e03ffc2aa1ad88d50af76efba66cb66361d58ccf39884dd45e86ac1ac06
         | 
    
        data/lib/lhs/pagination/base.rb
    CHANGED
    
    | @@ -23,7 +23,13 @@ module LHS::Pagination | |
| 23 23 | 
             
                alias count total
         | 
| 24 24 |  | 
| 25 25 | 
             
                def limit
         | 
| 26 | 
            -
                  data._raw.dig(*_record.limit_key(:body)) | 
| 26 | 
            +
                  limit_value = data._raw.dig(*_record.limit_key(:body))
         | 
| 27 | 
            +
                  requested_limit = data._request.params.dig(*_record.limit_key(:params))
         | 
| 28 | 
            +
                  if limit_value < requested_limit
         | 
| 29 | 
            +
                    requested_limit
         | 
| 30 | 
            +
                  else
         | 
| 31 | 
            +
                    limit_value || DEFAULT_LIMIT
         | 
| 32 | 
            +
                  end
         | 
| 27 33 | 
             
                end
         | 
| 28 34 |  | 
| 29 35 | 
             
                def offset
         | 
    
        data/lib/lhs/version.rb
    CHANGED
    
    
| @@ -67,5 +67,27 @@ describe LHS::Record do | |
| 67 67 | 
             
                    expect(record.total_pages).to eq(28)
         | 
| 68 68 | 
             
                  end
         | 
| 69 69 | 
             
                end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                context 'total_pages calculation for last page' do
         | 
| 72 | 
            +
                  before do
         | 
| 73 | 
            +
                    class Search < LHS::Record
         | 
| 74 | 
            +
                      configuration pagination_strategy: :start, total_key: :totalResult, pagination_key: :start, limit_key: { body: :size, parameter: :limit }
         | 
| 75 | 
            +
                      endpoint 'https://search'
         | 
| 76 | 
            +
                    end
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                  it 'provides the correct number of total pages for the last page' do
         | 
| 80 | 
            +
                    stub_request(:get, "https://search/?limit=10&start=11")
         | 
| 81 | 
            +
                      .to_return(body: {
         | 
| 82 | 
            +
                        size: 4,
         | 
| 83 | 
            +
                        totalResult: 14,
         | 
| 84 | 
            +
                        start: 11,
         | 
| 85 | 
            +
                        items: [11,12,13,14]
         | 
| 86 | 
            +
                      }.to_json)
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                    results = Search.page(2).limit(10).fetch
         | 
| 89 | 
            +
                    expect(results.total_pages).to eq 2
         | 
| 90 | 
            +
                  end
         | 
| 91 | 
            +
                end
         | 
| 70 92 | 
             
              end
         | 
| 71 93 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: lhs
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 20.1. | 
| 4 | 
            +
              version: 20.1.3.pre.paginationfix.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - https://github.com/local-ch/lhs/graphs/contributors
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-09- | 
| 11 | 
            +
            date: 2019-09-17 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activemodel
         | 
| @@ -525,12 +525,13 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 525 525 | 
             
                  version: 2.3.0
         | 
| 526 526 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 527 527 | 
             
              requirements:
         | 
| 528 | 
            -
              - - " | 
| 528 | 
            +
              - - ">"
         | 
| 529 529 | 
             
                - !ruby/object:Gem::Version
         | 
| 530 | 
            -
                  version:  | 
| 530 | 
            +
                  version: 1.3.1
         | 
| 531 531 | 
             
            requirements:
         | 
| 532 532 | 
             
            - Ruby >= 2.3.0
         | 
| 533 | 
            -
             | 
| 533 | 
            +
            rubyforge_project: 
         | 
| 534 | 
            +
            rubygems_version: 2.7.8
         | 
| 534 535 | 
             
            signing_key: 
         | 
| 535 536 | 
             
            specification_version: 4
         | 
| 536 537 | 
             
            summary: 'REST services accelerator: Rails gem providing an easy, active-record-like
         |