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

Page number

Returns:

  • (Integer)


25
26
27
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 25

def page_number
  [@params[:page].to_i, 1].max
end

#page_sizeInteger

Page size

Returns:

  • (Integer)


19
20
21
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 19

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

Total count for the query

Returns:

  • (Integer)


13
14
15
# File 'lib/adaptors/wallaby/active_record/model_pagination_provider.rb', line 13

def total
  @collection.total_count
end