Module: Pagy::SearchkickPaginator
- Defined in:
- lib/pagy/toolbox/paginators/searchkick.rb
Class Method Summary collapse
-
.paginate(search, options) ⇒ Object
Paginate from the search object.
Class Method Details
.paginate(search, options) ⇒ Object
Paginate from the search object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/pagy/toolbox/paginators/searchkick.rb', line 10 def paginate(search, ) if search.is_a?(Search::Arguments) # The search is the array of pagy_search arguments Searcher.wrap(search, ) do model, term, , block = search [:per_page] = [:limit] [:page] = [:page] results = model.send([:search_method] || Searchkick::DEFAULT[:search_method], term || '*', **, &block) [:count] = results.total_count [Searchkick.new(**), results] end else # The search is a searchkick results object [:limit] = search.respond_to?(:options) ? search.[:per_page] : search.per_page [:page] = search.respond_to?(:options) ? search.[:page] : search.current_page [:count] = search.total_count Searchkick.new(**) end end |