NAME
DigitalOcean::Collection - Represents a Collection object in the DigitalOcean API
VERSION
version 0.17
SYNOPSIS
FILL ME IN
DESCRIPTION
FILL ME IN
METHODS
objects
This method returns the objcets for the current page that the collection is on.
for my $obj (@{$collection->objects}) {
#do something with $obj
}
cur_page
This method returns the current page number that this collection is on. 0 is the default value.
last_page
This method returns the last page number of this collection is on. 1 is the default value.
params
This method is used to set the parameters in the URLs used to request the next set of objects in the collection. This should not be called by the user directly, but rather will be passed in by DigitalOcean when a subroutine that returns a collection is called. It should be passed in when the DigitalOcean::Collection object is created, because it will mess with the paging of the objects if changed after paging has begun.
my $do_collection = DigitalOcean::Collection->new(params => {per_page => 2});
pages
This method returns the current DigitalOcean::Pages object that is associated with the "cur_page"
next_element
This method returns the index of the next element to be retrieved within the current array of "objects". If it is greater than the last index of "objects", then the next page will be requested if there is one.
total
This method returns the total number of objects in this collection.
init_objects
This should be set when creating the DigitalOcean::Collection. The format is
ArrayRef[ArrayRef]
Where the inner array references are of this format:
['name_of_setter_method', 'value to set the setter method to'].
Since DigitalOcean::Collection classes are generic and can hold any object, this can be used to initialize the setter method of all objects in the collection to a certain value. For example, if you wanted a collection of DigitalOcean::Domain objects to have their DigitalOcean property set to the DigitalOcean object, you could do this when creating the collection:
my $collection = DigitalOcean::Collection->new(
init_objects => [['DigitalOcean', $do]],
... #other initialization stuff
);
This is mainly just for use by the DigitalOcean module when creating DigitalOcean::Collections.
next
This method will return the next object in the collection, and will return undef when there are no more objects in the collection. The "next" method automatically makes requests to the Digital Ocean API when it is time to get the next set of elements on the next page.
my $obj;
while($obj = $do_collection->next) {
print $obj->id . "\n";
}
#now went through entire collection and $obj holds undef
id
AUTHOR
Adam Hopkins <srchulo@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by Adam Hopkins.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.