Class: Wallaby::ActiveRecord::ModelPaginationProvider
- Inherits:
-
ModelPaginationProvider
- Object
- ModelPaginationProvider
- Wallaby::ActiveRecord::ModelPaginationProvider
- Defined in:
- lib/adaptors/wallaby/active_record/model_pagination_provider.rb
Overview
Model pagination provider
Instance Method Summary collapse
-
#page_number ⇒ Integer
Page number from parameters.
-
#page_size ⇒ Integer
Page size from parameters or configuration.
-
#paginatable? ⇒ Boolean
Check if collection has pagination feature.
-
#total ⇒ Integer
Total count for the query.
Methods inherited from ModelPaginationProvider
#first_page?, #first_page_number, #from, #initialize, #last_page?, #last_page_number, #next_page?, #next_page_number, #number_of_pages, #prev_page?, #prev_page_number, #to
Constructor Details
This class inherits a constructor from Wallaby::ModelPaginationProvider
Instance Method Details
#page_number ⇒ Integer
Returns page number from parameters.
22 23 24 |
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 22 def page_number [@params[:page].to_i, 1].max end |
#page_size ⇒ Integer
Returns page size from parameters or configuration.
17 18 19 |
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 17 def page_size @params[:per].try(:to_i) || Wallaby.configuration.pagination.page_size end |
#paginatable? ⇒ Boolean
Check if collection has pagination feature
7 8 9 |
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 7 def paginatable? @collection.respond_to? :total_count end |
#total ⇒ Integer
Returns total count for the query.
12 13 14 |
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 12 def total @collection.total_count end |