---
name: "MouseX::Types::Path::Class"
section: "3pm"
platform: "linux"
package: "libmousex-types-path-class-perl"
version: "0.07-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MouseX::Types::Path::Class"
---

# MouseX::Types::Path::Class(3pm)

A Path::Class type library for Mouse

## NAME

MouseX::Types::Path::Class - A Path::Class type library for Mouse

## SYNOPSIS

### CLASS TYPES

```
  package MyApp;
  use Mouse;
  use MouseX::Types::Path::Class;
  has 'dir' => (
      is       => 'ro',
      isa      => 'Path::Class::Dir',
      required => 1,
      coerce   => 1,
  );
  has 'file' => (
      is       => 'ro',
      isa      => 'Path::Class::File',
      required => 1,
      coerce   => 1,
  );
```

### CUSTOM TYPES

```
  package MyApp;
  use Mouse;
  use MouseX::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,
  );
```

## DESCRIPTION

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

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

## TYPES

### Dir

A Path::Class::Dir class type.

Coerces from `"Str"` and `"ArrayRef"` via "new" in Path::Class::Dir.

### File

A Path::Class::File class type.

Coerces from `"Str"` and `"ArrayRef"` via "new" in Path::Class::File.

## AUTHOR

NAKAGAWA Masaki \<masaki@cpan.org\>

## THANKS TO

"AUTHOR" in MooseX::Types::Path::Class

## LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

Mouse, MouseX::Types,

Path::Class,

MooseX::Types::Path::Class
