Class: MeiliSearch::Rails::Pagination::Kaminari
- Inherits:
-
Kaminari::PaginatableArray
- Object
- Kaminari::PaginatableArray
- MeiliSearch::Rails::Pagination::Kaminari
- Defined in:
- lib/meilisearch/rails/pagination/kaminari.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(array, options) ⇒ Kaminari
constructor
A new instance of Kaminari.
Constructor Details
#initialize(array, options) ⇒ Kaminari
Returns a new instance of Kaminari.
12 13 14 15 16 17 18 |
# File 'lib/meilisearch/rails/pagination/kaminari.rb', line 12 def initialize(array, ) if RUBY_VERSION >= '3' super(array, **) else super(array, ) end end |
Class Method Details
.create(results, total_hits, options = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/meilisearch/rails/pagination/kaminari.rb', line 20 def self.create(results, total_hits, = {}) offset = (([:page] - 1) * [:per_page]) total_hits = 0 if total_hits.nil? offset = 0 if offset.nil? limit = 0 if [:per_page].nil? array = new results, limit: limit, offset: offset, total_count: total_hits if array.empty? && !results.empty? # since Kaminari 0.16.0, you need to pad the results with nil values so it matches the offset param # otherwise you'll get an empty array: https://github.com/amatsuda/kaminari/commit/29fdcfa8865f2021f710adaedb41b7a7b081e34d results = Array.new(offset) + results array = new results, offset: offset, limit: limit, total_count: total_hits end array end |