NAME
Catmandu::Paged - Base class for packages that need paging result sets
SYNOPSIS
# Create a package that needs page calculationpackage MyPackage;use Moo;with 'Catmandu::Paged';sub start {12; # Starting result}sub limit {10; # Number of results per page}sub total {131237128371; # Total number of results;}package main;my $x = MyPackage->new;printf "Start page: %s\n" , $x->first_page;printf "Last page: %s\n" , $x->last_page;printf "Current page: %s\n" , $x->page;printf "Next page: %s\n" , $x->next_page;
DESCRIPTION
Packages that use Catmandu::Paged as base class and implement the methods "start", "limit" and "total" get for free methods that can be used to do page calculation.
OVERWRITE METHODS
- start()
-
Returns the index of the first item in a result page.
- limit()
-
Returns the number of results in a page.
- total()
-
Returns the total number of search results.
INSTANCE METHODS
- first_page
-
Returns the index the first page in a search result containing 0 or more pages.
- last_page
-
Returns the index of the last page in a search result containing 0 or more pages.
- page_size
-
Returns the number items on the current page.
- page
-
Returns the current page index.
- previous_page
-
Returns the previous page index.
- next_page
-
Returns the next page index.
- first_on_page
-
Returns the result index of the first result on the page.
- page_ranges
- pages_in_spread
-
Returns the previous pages and next pages, depending on the current position in the result set.
SEE ALSO
Catmandu::Hits