The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Path::IsDev::Object - Object Oriented guts for IsDev export

VERSION

version 0.3.2

SYNOPSIS

    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";
    }

DESCRIPTION

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.

METHODS

matches

Determine if a given path satisfies the set

    if( $o->matches($path) ){
        print "We have a match!";
    }

ATTRIBUTES

set

The name of the HeuristicSet:: to use.

Default is Basic, or the value of $ENV{PATH_ISDEV_DEFAULT_SET}

set_prefix

The HeuristicSet prefix to use to expand set to a module name.

Default is 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.

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.

_debug

The debugger callback.

    export PATH_ISDEV_DEBUG=1

to get debug info.

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

AUTHOR

Kent Fredric <kentfredric@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 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.