lhs 20.1.2 → 20.1.3.pre.paginationfix.1

Sign up to get free protection for your applications and to get access to all the features.
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