Nicolas Steenlant > Catmandu-1.0201 > Catmandu::Paged

Download:
Catmandu-1.0201.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 1.0201   Source   Latest Release: Catmandu-1.0301

NAME ^

Catmandu::Paged - Base class for packages that need paging result sets

SYNOPSIS ^

    # Create a package that needs page calculation
    package 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

syntax highlighting: