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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6222738010dc108833f001419f0fe23f97c1fbe6bb3211347724455bd6d1fab6
4
- data.tar.gz: ec1856d1a8ce39396dedf8251058f59604f3e84111a2dffea05a7b0d97b07cab
3
+ metadata.gz: 01b93ba0d7073ad916d4af31c05e3739d095729d17691d07473374547d589917
4
+ data.tar.gz: 6a1f7462a292f695c45b1b0d6659415b75cdcbc282b9cdd6740cbe2a24245ab8
5
5
  SHA512:
6
- metadata.gz: 22dde92abf63322ceab6d51962462c5dac3a34c12c46438a761fdce584066e50c1202babbc31762326cd96d073edd7d83aa8b8a231948a3d404adb93ea8a8ea2
7
- data.tar.gz: eaafb72d93e036a0e8af226877fea17d5489e722bbd0d403946bc4828e3429f2a37cf85dc46818116fe751fb937dc3c1851e4cc9ac55f0d7fbbb0482611abe38
6
+ metadata.gz: 1b1834964ca5704e3e3170933127fcb1dfcd92f19293f1b87a64374387965f1f8f0ed13e543f1959b8aa5292a940706f1f0fa524bfff465b47a9c5c5459a052d
7
+ data.tar.gz: c9f9f5c5dc3b7ba0f1759080442f4bc80735ac8e2f664ecf9608ed5b345fb0a565858e03ffc2aa1ad88d50af76efba66cb66361d58ccf39884dd45e86ac1ac06
@@ -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)) || DEFAULT_LIMIT
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LHS
4
- VERSION = '20.1.2'
4
+ VERSION = '20.1.3.pre.paginationfix.1'
5
5
  end
@@ -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.2
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-13 00:00:00.000000000 Z
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: '0'
530
+ version: 1.3.1
531
531
  requirements:
532
532
  - Ruby >= 2.3.0
533
- rubygems_version: 3.0.3
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