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