pagelux 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pagelux/query_paginator.rb +11 -1
- data/lib/pagelux/version.rb +1 -1
- data/spec/query_paginator_spec.rb +18 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db493f43c8dd8b9d479aaf0afe5a224643889c5a
|
4
|
+
data.tar.gz: 3ef1f90aed47b5035d339b57df08c1970cabf904
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b30e0228b5d71c66e5684c136b3e7790462d0308559d3da36cefeaae6c85bfe3c55a391312203756f355ac23052f300bc325b27ab284d95855587fe75f49e25
|
7
|
+
data.tar.gz: 565d8cbe3e5cd9473dbb0ef9808729311fdbbb122f531e98b706ec7571ea57372aed169515af432f4cbe2f921e5caa0698754618d6151cf04336a3dc1732931d
|
@@ -9,10 +9,20 @@ module Pagelux
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def paginate(params)
|
12
|
-
@pagination_data = PaginationData.new(
|
12
|
+
@pagination_data = PaginationData.new(
|
13
|
+
params[:page], params[:limit], total
|
14
|
+
)
|
13
15
|
limit_query
|
14
16
|
end
|
15
17
|
|
18
|
+
def total
|
19
|
+
query_total.is_a?(Hash) ? base_query.to_a.size : query_total
|
20
|
+
end
|
21
|
+
|
22
|
+
def query_total
|
23
|
+
@query_total ||= base_query.count
|
24
|
+
end
|
25
|
+
|
16
26
|
def limit_query
|
17
27
|
base_query.offset((page-1) * limit).limit(limit)
|
18
28
|
end
|
data/lib/pagelux/version.rb
CHANGED
@@ -9,7 +9,6 @@ describe Pagelux::QueryPaginator do
|
|
9
9
|
Query.all
|
10
10
|
}
|
11
11
|
let(:paginator) { Pagelux::QueryPaginator.new(query) }
|
12
|
-
# let(:results) { paginator.paginate(params) }
|
13
12
|
|
14
13
|
describe 'normalizing pagination values' do
|
15
14
|
let(:params) { {} }
|
@@ -95,4 +94,22 @@ describe Pagelux::QueryPaginator do
|
|
95
94
|
end
|
96
95
|
end
|
97
96
|
end
|
97
|
+
|
98
|
+
context 'when query count results in grouped set' do
|
99
|
+
let(:page) { 1 }
|
100
|
+
|
101
|
+
let(:query) {
|
102
|
+
(1..13).to_a.each do |n|
|
103
|
+
Query.create!(n: n)
|
104
|
+
end
|
105
|
+
|
106
|
+
Query.all.select('n').group(:n)
|
107
|
+
}
|
108
|
+
|
109
|
+
let(:results) { paginator.paginate({page: page, limit: 5}).map(&:n) }
|
110
|
+
|
111
|
+
it "still return the right number (and does not blow up)" do
|
112
|
+
results.size.should == 5
|
113
|
+
end
|
114
|
+
end
|
98
115
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagelux
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rae Bonfanti
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activerecord
|