ru.Bee 2.7.16 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60d76c4c74e1ef25002822bd6a85b82ca622cec1725632a110ee53f46d71d23a
4
- data.tar.gz: 9ec77780e934c56f139f0f765a1fa631bd6bad7b68894701c589cbd10a75bef6
3
+ metadata.gz: 01a7357826a17d0689fadebdf99357cf7ad50b38ec612f397260cb8580cd5291
4
+ data.tar.gz: 2481e8249b9a035d2095af11d8fbc8c8f410fe9711e144fd190cc5c1e167d188
5
5
  SHA512:
6
- metadata.gz: a45bbf711fc7be24f49a8315f14c5af794d1ace97ee974a15e466e4feb5b6d904be16695ebf9252f640f6a6c97f9bc771085edd53b97a88f7317ee09e2246981
7
- data.tar.gz: c4d35b51ed0bc20c08364e5e072f1fd9ad04eea690d3e55fa243898d11fee500adbb1a6c96eb0e489fc720d6dc43ac54d96e6647911ee3e7ba123daefe3e39fb
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 == (total_count / per_page.to_f).ceil,
64
+ last_page: current_page == total_pages,
62
65
  prev: current_page > 1 ? current_page - 1 : nil,
63
- next: current_page < (total_count / per_page.to_f).ceil ? current_page + 1 : nil,
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:)
@@ -178,7 +178,7 @@ module Rubee
178
178
  return unless db_set?
179
179
 
180
180
  DB.disconnect
181
- Object.send(:remove_const, :DB)
181
+ remove_const(:DB)
182
182
  end
183
183
 
184
184
  def force_reconnect!
@@ -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
@@ -20,7 +20,7 @@ module Rubee
20
20
  RUBEE_SUPPORT = { "Rubee::Support::Hash" => Hash, "Rubee::Support::String" => String }
21
21
  end
22
22
 
23
- VERSION = '2.7.16'
23
+ VERSION = '2.7.18'
24
24
 
25
25
  require_relative 'rubee/router'
26
26
  require_relative 'rubee/logger'
@@ -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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ru.Bee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.16
4
+ version: 2.7.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Saltykov