The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

GitLab::API::v4::Paginator - Iterate through paginated GitLab v4 API records.

DESCRIPTION

There should be no need to create objects of this type directly, instead use "paginator" in GitLab::API::v4 which simplifies things a bit.

REQUIRED ARGUMENTS

method

The name of the method subroutine to call on the "api" object to get records from.

This method must accept a hash ref of parameters as the last argument, adhere to the page and per_page parameters, and return an array ref.

api

The GitLab::API::v4 object.

OPTIONAL ARGUMENTS

args

The arguments to use when calling the "method", the same arguments you would use when you call the method yourself on the "api" object, minus the \%params hash ref.

params

The \%params hash ref argument.

METHODS

next_page

    while (my $records = $paginator->next_page()) { ... }

Returns an array ref of records for the next page.

next

    while (my $record = $paginator->next()) { ... }

Returns the next record in the current page. If all records have been exhausted then "next_page" will automatically be called. This way if you want to ignore pagination you can just call next over and over again to walk through all the records.

all

    my $records = $paginator->all();

This is just an alias for calling "next_page" over and over again to build an array ref of all records.

reset

    $paginator->reset();

Reset the paginator back to its original state on the first page with no records retrieved yet.

AUTHORS

See "AUTHOR" in GitLab::API::v4 and "CONTRIBUTORS" in GitLab::API::v4.

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.