NAME

MooseX::Iterator::Locate -- read "locate" database with MooseX::Iterator

SYNOPSIS

use MooseX::Iterator::Locate;
my $it = MooseX::Iterator::Locate->new;
while ($it->has_next) {
  print $it->next, "\n";
}

CLASS HIERARCHY

MooseX::Iterator::Locate is a subclass of Moose::Object and File::Iterator::Locate,

Moose::Object
File::Iterator::Locate
  MooseX::Iterator::Locate

and does

MooseX::Iterator::Role

DESCRIPTION

MooseX::Iterator::Locate reads a "locate" database file in iterator style. It offers MooseX::Iterator style methods as a front-end to File::Locate::Iterator.

FUNCTIONS

$it = MooseX::Iterator::Locate->new (key=>value,...)

Create and return a new MooseX::Iterator::Locate object. Optional key/value pairs are passed to File::Locate::Iterator->new.

$entry = $it->next

Return the next entry from the database. The first call is the first entry.

$entry = $it->peek

Return the next entry from the database, but don't advance the iterator position. This is what $it->next would return.

(This is not the same as peek in the base MooseX::Iterator version 0.11, it gives the second next item. Believe that's a mistake there, though the intention will be to follow what the base does when resolved.)

$bool = $it->has_next

Return true if there's a next entry available.

$it->reset

Move $it back to the start of the database again. The next call to $it->next gives the first entry again.

As discussed in File::Locate::Iterator under rewind(), this reset is only possible when the underlying database file or handle is a plain file or something seekable.

ATTRIBUTES

The various parameters accepted by new are attributes. They're all "bare" create-only, no getters or setters.

database_file     Str
database_fh       FileHandle
database_str      Str
suffix            Str
suffixes          ArrayRef[Str]
glob              Str
globs             ArrayRef[Str]
regexp            Str | RegexpRef
regexps           ArrayRef[Str|RegexpRef]
use_mmap          enum default, if_sensible, if_possible, 0, 1

The default in the database_file attribute is per File::Locate::Iterator->default_database_file. (It's a coderef type since default_database_file looks at %ENV.)

SEE ALSO

MooseX::Iterator, File::Locate::Iterator, Moose, Moose::Object

HOME PAGE

http://user42.tuxfamily.org/file-locate-iterator/index.html

COPYRIGHT

Copyright 2010, 2011 Kevin Ryde

File-Locate-Iterator is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

File-Locate-Iterator is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with File-Locate-Iterator. If not, see http://www.gnu.org/licenses/