class Webby::Paginator::Page

Page object

Retrieves items for a page and provides metadata about the position of the page in the paginator

Attributes

number[R]
pager[R]
url[R]

Public Instance Methods

each(&block) click to toggle source
# File lib/webby/stelan/paginator.rb, line 150
def each(&block)
  items.each(&block)
end
first_item_number() click to toggle source

The “item number” of the first item on this page

# File lib/webby/stelan/paginator.rb, line 133
def first_item_number
  1 + @offset
end
items() click to toggle source

Retrieve the items for this page

  • Caches

# File lib/webby/stelan/paginator.rb, line 108
def items
  @items ||= @select.call
end
last_item_number() click to toggle source

The “item number” of the last item on this page

# File lib/webby/stelan/paginator.rb, line 138
def last_item_number
  if next?
    @offset + @pager.per_page
  else
    @pager.count
  end
end
next() click to toggle source

Get next page (if possible)

# File lib/webby/stelan/paginator.rb, line 128
def next
  @pager.page(@number + 1) if next?
end
next?() click to toggle source

Checks to see if there's a page after this one

# File lib/webby/stelan/paginator.rb, line 123
def next?
  @number < @pager.number_of_pages
end
prev() click to toggle source

Get previous page (if possible)

# File lib/webby/stelan/paginator.rb, line 118
def prev
  @pager.page(@number - 1) if prev?
end
prev?() click to toggle source

Checks to see if there's a page before this one

# File lib/webby/stelan/paginator.rb, line 113
def prev?
  @number > 1
end