NAME

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

DESCRIPTION

There should be no need to create objects of this type directly, instead use "paginator" in GitLab::API::v3 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::v3 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.

SUPPORT

See "SUPPORT" in GitLab::API::v3.

AUTHORS

See "AUTHORS" in GitLab::API::v3.

LICENSE

See "LICENSE" in GitLab::API::v3.