VERSION
version 0.5.2SYNOPSIS
require Path::FindDev::Object;
my $finder = Path::FindDev::Object->new();
my $dev = $finder->find_dev($path);
DESCRIPTION
This module implements the innards of "Path::FindDev", and is only recommended for use if the Exporter "API" is insufficient for your needs.METHODS
has_set
Determines if the "set" attribute existshas_uplevel_max
Determines if the "uplevel_max" attribute is provided.find_dev
Find a parent at, or above $OtherPath that resembles a "devel" directory.
my $path = $object->find_dev( $OtherPath );
ATTRIBUTES
set
(optional)The "Path::IsDev::HeuristicSet" subclass for your desired Heuristics.
uplevel_max
If provided, limits the number of "uplevel" iterations done.( that is, limits the number of times it will step up the hierarchy )
nest_retry
The number of "dev" directories to "ignore" in the hierarchy.This is provided in the event you have a "dev" directory within a "dev" directory, and you wish to resolve an outer directory instead of an inner one.
By default, this is 0, or "stop at the first "dev" directory"
isdev
The "Path::IsDev" object that checks nodes for "dev"-ishness.PRIVATE METHODS
_instance_id
An opportunistic sequence number for help with debug messages.Note: This is not guaranteed to be unique per instance, only guaranteed to be constant within the life of the object.
Based on "refaddr", and giving out new ids when new "refaddr"'s are seen.
my $id = $object->_instance_id;
BUILD
"BUILD" is an implementation detail of "Moo"/"Moose".This module hooks "BUILD" to give a self report of the object to *STDERR after "->new" when under $DEBUG
_debug
The debugger callback.
export PATH_FINDDEV_DEBUG=1
to get debug info.
$object->_debug($message);
_error
The error reporting callback.
$object->_error($message);
_step
Inner code path of tree walking.
my ($dev_levels, $uplevels ) = (0,0); my $result = $object->_step( path($somepath), \$dev_levels, \$uplevels ); $result->{type} eq 'stop' # if flow control should end $result->{type} eq 'next' # if flow control should ascend to parent $result->{type} eq 'found' # if flow control has found the "final" dev directory
AUTHOR
Kent Fredric <[email protected]>COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Kent Fredric <[email protected]>.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.