logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

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.

Name

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

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.

See Also

       Catmandu::Hits

perl v5.40.0                                       2025-01-17                               Catmandu::Paged(3pm)

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;

See Also