logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

MooseX::Types::Path::Class - A Path::Class type library for Moose

Author

       Todd Hepler <thepler@employees.org>

Contributors

       •   Karen Etheridge <ether@cpan.org>

       •   Jonathan Rockway <jon@jrock.us>

       •   Yuval Kogman <nothingmuch@woobling.org>

Dependencies

       Moose, MooseX::Types, Path::Class

Description

       MooseX::Types::Path::Class creates common Moose types, coercions and option specifications useful for
       dealing with Path::Class objects as Moose attributes.

       Coercions (see Moose::Util::TypeConstraints) are made from both "Str" and "ArrayRef" to both
       Path::Class::Dir and Path::Class::File objects.  If you have MooseX::Getopt installed, the "Getopt"
       option type ("=s") will be added for both Path::Class::Dir and Path::Class::File.

Exports

       None of these are exported by default.  They are provided via MooseX::Types.

       Dir, File
           These exports can be used instead of the full class names.  Example:

             package MyClass;
             use Moose;
             use MooseX::Types::Path::Class qw(Dir File);

             has 'dir' => (
                 is       => 'ro',
                 isa      => Dir,
                 required => 1,
                 coerce   => 1,
             );

             has 'file' => (
                 is       => 'ro',
                 isa      => File,
                 required => 1,
                 coerce   => 1,
             );

           Note that there are no quotes around "Dir" or "File".

       is_Dir($value), is_File($value)
           Returns true or false based on whether $value is a valid "Dir" or "File".

       to_Dir($value), to_File($value)
           Attempts  to  coerce $value to a "Dir" or "File".  Returns the coerced value or false if the coercion
           failed.

Name

       MooseX::Types::Path::Class - A Path::Class type library for Moose

See Also

       MooseX::Types::Path::Class::MoreCoercions, MooseX::FileAttribute, MooseX::Types::URI

Support

       Bugs        may        be        submitted        through        the        RT        bug         tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Types-Path-Class>                           (or
       bug-MooseX-Types-Path-Class@rt.cpan.org <mailto:bug-MooseX-Types-Path-Class@rt.cpan.org>).

       There   is   also   a   mailing    list    available    for    users    of    this    distribution,    at
       <http://lists.perl.org/list/moose.html>.

       There  is  also  an  irc  channel available for users of this distribution, at "#moose" on "irc.perl.org"
       <irc://irc.perl.org/#moose>.

Synopsis

         package MyClass;
         use Moose;
         use MooseX::Types::Path::Class;
         with 'MooseX::Getopt';  # optional

         has 'dir' => (
             is       => 'ro',
             isa      => 'Path::Class::Dir',
             required => 1,
             coerce   => 1,
         );

         has 'file' => (
             is       => 'ro',
             isa      => 'Path::Class::File',
             required => 1,
             coerce   => 1,
         );

         # these attributes are coerced to the
         # appropriate Path::Class objects
         MyClass->new( dir => '/some/directory/', file => '/some/file' );

Version

       version 0.09

See Also