class PaginationSearch::PaginatedRecords

Public Class Methods

new(base_class, attribute_locations) click to toggle source
# File lib/pagination_search/paginated_records.rb, line 3
def initialize(base_class, attribute_locations)
  @attribute_set = AttributeSet.new(base_class, attribute_locations)
end

Public Instance Methods

page_for(relation, params) click to toggle source
# File lib/pagination_search/paginated_records.rb, line 7
def page_for(relation, params)
  id_relation = relation.select(:id)

  length = params[:limit].to_i
  start = params[:offset].to_i * length

  BaseRelation.new(id_relation, params, @attribute_set).process.limit(length).offset(start)
end