Class: Jsonapi::QueryBuilder::Paginator::BasePaginator

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/query_builder/paginator/base_paginator.rb

Direct Known Subclasses

Kaminari, Keyset, Pagy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection) ⇒ BasePaginator

Returns a new instance of BasePaginator.

Parameters:

  • collection (ActiveRecord::Relation)


10
11
12
# File 'lib/jsonapi/query_builder/paginator/base_paginator.rb', line 10

def initialize(collection)
  @collection = collection
end

Instance Attribute Details

#collectionObject (readonly)

Returns the value of attribute collection.



7
8
9
# File 'lib/jsonapi/query_builder/paginator/base_paginator.rb', line 7

def collection
  @collection
end

Instance Method Details

#paginate(page_params) ⇒ [ActiveRecord::Relation, Hash]

Returns Records and pagination details.

Parameters:

  • page_params (Hash)

Returns:

  • ([ActiveRecord::Relation, Hash])

    Records and pagination details

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/jsonapi/query_builder/paginator/base_paginator.rb', line 16

def paginate(page_params)
  raise NotImplementedError, "#{self.class} should implement ##{__method__}"
end