module ROM::LDAP::Plugin::Pagination
Pagination
plugin for Relations
@api public
Public Class Methods
included(klass)
click to toggle source
@api private
Calls superclass method
# File lib/rom/ldap/plugin/pagination.rb, line 98 def self.included(klass) super klass.class_eval do defines :per_page option :pager, default: -> { Pager.new(dataset, per_page: self.class.per_page) } end end
Public Instance Methods
page(num)
click to toggle source
Paginate a relation
@example
users.page(1) users.pager # => info about pagination
@return [Relation]
@api public
# File lib/rom/ldap/plugin/pagination.rb, line 119 def page(num) next_pager = pager.at(dataset, num) new(next_pager.dataset, pager: next_pager) end
per_page(num)
click to toggle source
Set limit for pagination
@example
users.per_page(10).page(2)
@return [Relation]
@api public
# File lib/rom/ldap/plugin/pagination.rb, line 132 def per_page(num) next_pager = pager.at(dataset, pager.current_page, num) new(next_pager.dataset, pager: next_pager) end