Path::IsDev::Object - Object Oriented guts for IsDev export
version 1.001001
use Path::IsDev::Object; my $dev = Path::IsDev::Object->new(); my $dev = Path::IsDev::Object->new( set => 'MySet' ); if ( $dev->matches($path) ){ print "$path is dev"; }
Exporting functions is handy for end users, but quickly becomes a huge headache when you're trying to chain them.
e.g: If you're writing an exporter yourself, and you want to wrap responses from an exported symbol, while passing through user configuration => Huge headache.
So the exporter based interface is there for people who don't need anything fancy, while the Object based interface is there for people with more complex requirements.
matches
Determine if a given path satisfies the set
set
if( $o->matches($path) ){ print "We have a match!"; }
The name of the HeuristicSet:: to use.
HeuristicSet::
Default is Basic, or the value of $ENV{PATH_ISDEV_DEFAULT_SET}
Basic
$ENV{PATH_ISDEV_DEFAULT_SET}
set_prefix
The HeuristicSet prefix to use to expand set to a module name.
HeuristicSet
Default is Path::IsDev::HeuristicSet
Path::IsDev::HeuristicSet
set_module
The fully qualified module name.
Composed by joining set and set_prefix
loaded_set_module
An accessor which returns a module name after loading it.
_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.
refaddr
_debug
The debugger callback.
export PATH_ISDEV_DEBUG=1
to get debug info.
_with_debug
Wrap calls to Path::IsDev::debug to have a prefix with an object identifier.
$ob->_with_debug(sub{ # Path::Tiny::debug now localised. });
BUILD
BUILD is an implementation detail of Class::Tiny.
Class::Tiny
This module hooks BUILD to give a self report of the object to *STDERR after ->new when under $DEBUG
*STDERR
->new
$DEBUG
_matches
my $result = $o->matches( $path );
$result here will be a constructed Path::IsDev::Result.
Path::IsDev::Result
Note this method may be handy for debugging, but you should still call matches for all real code.
Kent Fredric <kentfredric@gmail.com>
This software is copyright (c) 2014 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Path::IsDev, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Path::IsDev
CPAN shell
perl -MCPAN -e shell install Path::IsDev
For more information on module installation, please visit the detailed CPAN module installation guide.