class Wallaby::ModelPaginator

This is the base paginator class to provider pagination for given collection.

For best practice, please create an application paginator class (see example) to better control the functions shared between different model paginators. @example Create an application class for Admin Interface usage

class Admin::ApplicationPaginator < Wallaby::ModelPaginator
  base_class!
end

Attributes

model_class[R]

@!attribute [r] model_class @return [Class]

provider[R]

@!attribute [r] provider @return [Wallaby::ModelPaginationProvider] the instance that does the job @since wallaby-5.2.0

Public Class Methods

new(model_class, collection, params) click to toggle source

@param model_class [Class] @param collection [#to_a] a collection of the resources @param params [ActionController::Parameters]

# File lib/paginators/wallaby/model_paginator.rb, line 28
def initialize(model_class, collection, params)
  @model_class = self.class.model_class || model_class
  raise ArgumentError, 'Please provide a `model_class`.' unless @model_class

  @collection = collection
  @params = params
  @provider = Map.pagination_provider_map(@model_class).new(@collection, @params)
end