934f041659161133847392b632ceb25d38e9ae4d
[gitmo/MooseX-Getopt.git] / lib / MooseX / Getopt / Meta / Attribute / NoGetopt.pm
1 package MooseX::Getopt::Meta::Attribute::NoGetopt;
2 # ABSTRACT: Optional meta attribute for ignoring params
3
4 use Moose;
5
6 extends 'Moose::Meta::Attribute'; # << Moose extending Moose :)
7    with 'MooseX::Getopt::Meta::Attribute::Trait::NoGetopt';
8
9 no Moose;
10
11 # register this as a metaclass alias ...
12 package # stop confusing PAUSE
13     Moose::Meta::Attribute::Custom::NoGetopt;
14 sub register_implementation { 'MooseX::Getopt::Meta::Attribute::NoGetopt' }
15
16 1;
17
18 =head1 SYNOPSIS
19
20   package App;
21   use Moose;
22
23   with 'MooseX::Getopt';
24
25   has 'data' => (
26       metaclass => 'NoGetopt',  # do not attempt to capture this param
27       is        => 'ro',
28       isa       => 'Str',
29       default   => 'file.dat',
30   );
31
32 =head1 DESCRIPTION
33
34 This is a custom attribute metaclass which can be used to specify
35 that a specific attribute should B<not> be processed by
36 C<MooseX::Getopt>. All you need to do is specify the C<NoGetopt>
37 metaclass.
38
39   has 'foo' => (metaclass => 'NoGetopt', ... );
40
41 =cut