Class: PaginationSearch::PaginatedRecords

Inherits:
Object
  • Object
show all
Defined in:
lib/pagination_search/paginated_records.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_class, attribute_locations) ⇒ PaginatedRecords

Returns a new instance of PaginatedRecords.



3
4
5
# File 'lib/pagination_search/paginated_records.rb', line 3

def initialize(base_class, attribute_locations)
  @attribute_set = AttributeSet.new(base_class, attribute_locations)
end

Instance Method Details

#page_for(relation, params) ⇒ Object



7
8
9
10
11
12
13
14
# 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