NAME
Catmandu::Paged - Base class for packages that need paging result sets
SYNOPSIS
# Create a package that needs page calculation
package
MyPackage;
use
Moo;
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.