module Wallaby::Paginatable

Paginator related attributes

Public Instance Methods

current_paginator() click to toggle source

Model paginator for current modal class. It comes from:

  • controller configuration {Wallaby::Paginatable::ClassMethods#model_paginator .model_paginator}

  • a generic paginator based on {Wallaby::Paginatable::ClassMethods#application_paginator .application_paginator}

@return [Class] model paginator class

# File lib/concerns/wallaby/paginatable.rb, line 52
def current_paginator
  @current_paginator ||=
    (controller_to_get(:model_paginator) \
      || Map.paginator_map(current_model_class, controller_to_get(:application_paginator))).try do |klass|
      Logger.debug %(Current paginator: #{klass}), sourcing: false
      klass.new current_model_class, collection, params
    end
end
paginate(query, options) click to toggle source

To paginate the collection but only when either `page` or `per` param is given, or HTML response is requested @param query [#each] @param options [Hash] @option options [Boolean] :paginate whether collection should be paginated @return [#each] @see Wallaby::ModelServicer#paginate

# File lib/concerns/wallaby/paginatable.rb, line 68
def paginate(query, options)
  options[:paginate] ? current_servicer.paginate(query, params) : query
end