ru.Bee 2.7.17 → 2.7.18
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/db/test.db +0 -0
- data/lib/rubee/models/assoc_array.rb +5 -2
- data/lib/rubee/models/sequel_object.rb +2 -0
- data/lib/rubee.rb +1 -1
- data/lib/tests/models/comment_model_test.rb +21 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 01a7357826a17d0689fadebdf99357cf7ad50b38ec612f397260cb8580cd5291
|
|
4
|
+
data.tar.gz: 2481e8249b9a035d2095af11d8fbc8c8f410fe9711e144fd190cc5c1e167d188
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 82c9964621101a59769a73747527fa0fda93ff60d691c6d3d75dbf40917463517446073a71622e058c6f15fe7cbfaa736b117c26d75c92b71cbbcd2e3bcf4808
|
|
7
|
+
data.tar.gz: ea3d93e87f2f8ef4dfd6350f5db386ca906d33aa79c000fcb8954df1d7ab7614de8b4f9b91e2c5c16dba25316f78b06f1998799b61d082b08561e19d407c505d
|
data/lib/db/test.db
CHANGED
|
Binary file
|
|
@@ -53,14 +53,17 @@ module Rubee
|
|
|
53
53
|
def paginate(*args)
|
|
54
54
|
total_count = @__query_dataset.count
|
|
55
55
|
current_page, per_page = args
|
|
56
|
+
total_pages = per_page.to_i > 0 ? (total_count / per_page.to_f).ceil : 1
|
|
57
|
+
current_page = current_page.to_i > 0 ? current_page.to_i : 1
|
|
58
|
+
per_page = per_page.to_i > 0 ? per_page.to_i : 10
|
|
56
59
|
__pagination_meta = {
|
|
57
60
|
current_page:,
|
|
58
61
|
per_page:,
|
|
59
62
|
total_count:,
|
|
60
63
|
first_page: current_page == 1,
|
|
61
|
-
last_page: current_page ==
|
|
64
|
+
last_page: current_page == total_pages,
|
|
62
65
|
prev: current_page > 1 ? current_page - 1 : nil,
|
|
63
|
-
next: current_page <
|
|
66
|
+
next: current_page < total_pages ? current_page + 1 : nil,
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
@__model.paginate(*args, __query_dataset: @__query_dataset, __pagination_meta:)
|
|
@@ -266,6 +266,8 @@ module Rubee
|
|
|
266
266
|
|
|
267
267
|
def paginate(page = 1, per_page = 10, options = {})
|
|
268
268
|
query_dataset = options[:__query_dataset] || dataset
|
|
269
|
+
page = page.to_i > 0 ? page.to_i : 1
|
|
270
|
+
per_page = per_page.to_i > 0 ? per_page.to_i : 10
|
|
269
271
|
offset = (page - 1) * per_page
|
|
270
272
|
|
|
271
273
|
::Rubee::AssocArray.new([], self, query_dataset.offset(offset).limit(per_page),
|
data/lib/rubee.rb
CHANGED
|
@@ -116,6 +116,27 @@ describe 'Comment model' do
|
|
|
116
116
|
)
|
|
117
117
|
Comment.destroy_all
|
|
118
118
|
end
|
|
119
|
+
|
|
120
|
+
describe 'when pass page number as zero' do
|
|
121
|
+
it 'returns target records' do
|
|
122
|
+
Comment.destroy_all cascade: true
|
|
123
|
+
10.times do |n|
|
|
124
|
+
Comment.new(text: "test_#{n}").save
|
|
125
|
+
end
|
|
126
|
+
comments = Comment.all.paginate(0, 5)
|
|
127
|
+
_(comments.count).must_equal(5)
|
|
128
|
+
_(comments.pagination_meta).must_equal(
|
|
129
|
+
current_page: 1,
|
|
130
|
+
per_page: 5,
|
|
131
|
+
total_count: 10,
|
|
132
|
+
first_page: true,
|
|
133
|
+
last_page: false,
|
|
134
|
+
prev: nil,
|
|
135
|
+
next: 2
|
|
136
|
+
)
|
|
137
|
+
Comment.destroy_all
|
|
138
|
+
end
|
|
139
|
+
end
|
|
119
140
|
end
|
|
120
141
|
end
|
|
121
142
|
|