ru.Bee 2.7.18 → 2.7.19

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: 01a7357826a17d0689fadebdf99357cf7ad50b38ec612f397260cb8580cd5291
4
- data.tar.gz: 2481e8249b9a035d2095af11d8fbc8c8f410fe9711e144fd190cc5c1e167d188
3
+ metadata.gz: c3259d99e11204edf63640fbf913ae79fa59ffda9ea39d50d5b604a5a5920416
4
+ data.tar.gz: 8e0d0139912e774967734197f467661c06eb2a3ab33cdb0381977ede7dab08e3
5
5
  SHA512:
6
- metadata.gz: 82c9964621101a59769a73747527fa0fda93ff60d691c6d3d75dbf40917463517446073a71622e058c6f15fe7cbfaa736b117c26d75c92b71cbbcd2e3bcf4808
7
- data.tar.gz: ea3d93e87f2f8ef4dfd6350f5db386ca906d33aa79c000fcb8954df1d7ab7614de8b4f9b91e2c5c16dba25316f78b06f1998799b61d082b08561e19d407c505d
6
+ metadata.gz: 1e684ae9168fec0400e252b78e64b74773e8f074879f722b54306fdcae9057e069c20b7276d720476cec635388f774588d31fe73695e3bb87142b03458cec1fb
7
+ data.tar.gz: 72d396aae6e4c299bf6e211b86822c96c17e988c1b066a610914c6d642a59fb20b88ed7445368d19d35c54f9df3c5103b87d1293da378e392e51388499a2cbcb
data/lib/db/test.db CHANGED
Binary file
@@ -50,9 +50,10 @@ module Rubee
50
50
  @__model.owns_many(*args, __query_dataset: @__query_dataset)
51
51
  end
52
52
 
53
- def paginate(*args)
53
+ def paginate(*args, **kwargs)
54
54
  total_count = @__query_dataset.count
55
- current_page, per_page = args
55
+ current_page = kwargs[:page] || args[0]
56
+ per_page = kwargs[:per_page] || args[1]
56
57
  total_pages = per_page.to_i > 0 ? (total_count / per_page.to_f).ceil : 1
57
58
  current_page = current_page.to_i > 0 ? current_page.to_i : 1
58
59
  per_page = per_page.to_i > 0 ? per_page.to_i : 10
@@ -66,7 +67,7 @@ module Rubee
66
67
  next: current_page < total_pages ? current_page + 1 : nil,
67
68
  }
68
69
 
69
- @__model.paginate(*args, __query_dataset: @__query_dataset, __pagination_meta:)
70
+ @__model.paginate(*args, **kwargs, __query_dataset: @__query_dataset, __pagination_meta:)
70
71
  end
71
72
 
72
73
  def pagination_meta
@@ -264,14 +264,16 @@ module Rubee
264
264
  ::Rubee::AssocArray.new([], self, query_dataset.offset(*args))
265
265
  end
266
266
 
267
- def paginate(page = 1, per_page = 10, options = {})
268
- query_dataset = options[:__query_dataset] || dataset
267
+ def paginate(*args, **kwargs)
268
+ page = kwargs[:page] || args[0]
269
+ per_page = kwargs[:per_page] || args[1]
270
+ query_dataset = kwargs[:__query_dataset] || dataset
269
271
  page = page.to_i > 0 ? page.to_i : 1
270
272
  per_page = per_page.to_i > 0 ? per_page.to_i : 10
271
273
  offset = (page - 1) * per_page
272
274
 
273
275
  ::Rubee::AssocArray.new([], self, query_dataset.offset(offset).limit(per_page),
274
- pagination_meta: options[:__pagination_meta])
276
+ pagination_meta: kwargs[:__pagination_meta])
275
277
  end
276
278
 
277
279
  def create(attrs)
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.18'
23
+ VERSION = '2.7.19'
24
24
 
25
25
  require_relative 'rubee/router'
26
26
  require_relative 'rubee/logger'
@@ -137,6 +137,27 @@ describe 'Comment model' do
137
137
  Comment.destroy_all
138
138
  end
139
139
  end
140
+
141
+ describe 'when pass args as hash' do
142
+ it 'returns target records' do
143
+ Comment.destroy_all cascade: true
144
+ 10.times do |n|
145
+ Comment.new(text: "test_#{n}").save
146
+ end
147
+ comments = Comment.all.paginate(page: 1, per_page: 5)
148
+ _(comments.count).must_equal(5)
149
+ _(comments.pagination_meta).must_equal(
150
+ current_page: 1,
151
+ per_page: 5,
152
+ total_count: 10,
153
+ first_page: true,
154
+ last_page: false,
155
+ prev: nil,
156
+ next: 2
157
+ )
158
+ Comment.destroy_all
159
+ end
160
+ end
140
161
  end
141
162
  end
142
163
 
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.18
4
+ version: 2.7.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Saltykov