NAME
MooseX::Types::Path::Class - A Path::Class type library for Moose
SYNOPSIS
package MyClass;
use Moose;
use MooseX::Types::Path::Class qw( Dir File );
with 'MooseX::Getopt'; # if you want the Getopt Role
has 'dir' => (
is => 'ro',
isa => Dir,
required => 1,
coerce => 1,
);
has 'file' => (
is => 'ro',
isa => File,
required => 1,
coerce => 1,
);
# these attributes are coerced to the
# appropriate Path::Class objects
MyClass->new( dir => '/some/directory/', file => '/some/file' );
DESCRIPTION
This is a utility that creates common Moose subtypes, coercions and option specifications useful for dealing with Path::Class objects as Moose attributes.
This module constructs coercions (see Moose::Util::TypeConstraints) from both 'Str' and 'ArrayRef' to both Path::Class::Dir and Path::Class::File objects. It also adds the Getopt option type ("=s") for both Path::Class::Dir and Path::Class::File (see MooseX::Getopt).
This is just meant to be a central place for these constructs, so you don't have to worry about whether they've been created or not, and you're not tempted to copy them into yet another class (like I was).
EXPORTS
See MooseX::Types for how these exports work.
DEPENDENCIES
Moose, MooseX::Types, MooseX::Getopt, Path::Class
BUGS AND LIMITATIONS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email the author, or add the bug to cpan-RT http://rt.cpan.org.
AUTHOR
Todd Hepler <thepler@employees.org>
LICENCE AND COPYRIGHT
Copyright (c) 2007, Todd Hepler <thepler@employees.org>
. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.