Class: Wallaby::AbstractResourcePaginator

Inherits:
Object
  • Object
show all
Defined in:
lib/paginators/wallaby/abstract_resource_paginator.rb

Overview

Model paginator

Direct Known Subclasses

ResourcePaginator

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_class, collection, params) ⇒ AbstractResourcePaginator

Paginator constructor

Parameters:

  • model_class (Class)

    model class

  • collection (#to_a)

    a collection of all the resources

  • params (ActionController::Parameters)

    parameters

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
# File 'lib/paginators/wallaby/abstract_resource_paginator.rb', line 19

def initialize(model_class, collection, params)
  @model_class = model_class || self.class.model_class
  raise ArgumentError, 'model class required' unless @model_class
  @collection = collection
  @params = params
  @provider =
    Map.pagination_provider_map(@model_class).new(@collection, @params)
end

Class Method Details

.model_classClass

Returns model class for paginator.

Returns:

  • (Class)

    model class for paginator



5
6
7
8
# File 'lib/paginators/wallaby/abstract_resource_paginator.rb', line 5

def self.model_class
  return unless self < ::Wallaby.configuration.mapping.resource_paginator
  Map.model_class_map name.gsub('Paginator', EMPTY_STRING)
end