Class: Wallaby::ActiveRecord::ModelPaginationProvider

Inherits:
ModelPaginationProvider show all
Defined in:
lib/adaptors/wallaby/active_record/model_pagination_provider.rb

Overview

Model pagination provider

Instance Method Summary collapse

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_numberInteger

Returns page number from parameters.

Returns:

  • (Integer)

    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_sizeInteger

Returns page size from parameters or configuration.

Returns:

  • (Integer)

    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

Returns:

  • (Boolean)


7
8
9
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 7

def paginatable?
  @collection.respond_to? :total_count
end

#totalInteger

Returns total count for the query.

Returns:

  • (Integer)

    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