Module: MeiliSearch::Rails::Pagination

Defined in:
lib/meilisearch/rails/pagination.rb,
lib/meilisearch/rails/pagination/kaminari.rb,
lib/meilisearch/rails/pagination/will_paginate.rb

Defined Under Namespace

Classes: Kaminari, WillPaginate

Class Method Summary collapse

Class Method Details

.create(results, total_hits, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/meilisearch/rails/pagination.rb', line 7

def self.create(results, total_hits, options = {})
  pagination_backend = MeiliSearch::Rails.configuration[:pagination_backend]

  if pagination_backend.nil? || (is_pagy = pagination_backend.to_s == 'pagy')
    log_pagy_error if is_pagy

    return results
  end

  load_pagination!(pagination_backend, results, total_hits, options)
end

.load_pagination!(pagination_backend, results, total_hits, options) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/meilisearch/rails/pagination.rb', line 24

def self.load_pagination!(pagination_backend, results, total_hits, options)
  ::MeiliSearch::Rails::Pagination
    .const_get(pagination_backend.to_s.classify)
    .create(results, total_hits, options)
rescue NameError
  raise(BadConfiguration, 'Invalid `pagination_backend:` configuration, check your initializer.')
end

.log_pagy_errorObject



19
20
21
22
# File 'lib/meilisearch/rails/pagination.rb', line 19

def self.log_pagy_error
  MeiliSearch::Rails.logger
    .warn('[meilisearch-rails] Remove `pagination_backend: :pagy` from your initializer, `pagy` it is not required for `pagy`')
end