Commit | Line | Data |
0f8232b6 |
1 | package MooseX::Getopt::Meta::Attribute::NoGetopt; |
669588e2 |
2 | # ABSTRACT: Optional meta attribute for ignoring params |
a01f08fb |
3 | |
669588e2 |
4 | use Moose; |
a01f08fb |
5 | |
6 | extends 'Moose::Meta::Attribute'; # << Moose extending Moose :) |
adbe3e57 |
7 | with 'MooseX::Getopt::Meta::Attribute::Trait::NoGetopt'; |
a01f08fb |
8 | |
9 | no Moose; |
10 | |
11 | # register this as a metaclass alias ... |
6ac028c4 |
12 | package # stop confusing PAUSE |
13 | Moose::Meta::Attribute::Custom::NoGetopt; |
0f8232b6 |
14 | sub register_implementation { 'MooseX::Getopt::Meta::Attribute::NoGetopt' } |
a01f08fb |
15 | |
f969917f |
16 | 1; |
17 | |
f969917f |
18 | =head1 SYNOPSIS |
19 | |
20 | package App; |
21 | use Moose; |
669588e2 |
22 | |
f969917f |
23 | with 'MooseX::Getopt'; |
669588e2 |
24 | |
f969917f |
25 | has 'data' => ( |
669588e2 |
26 | metaclass => 'NoGetopt', # do not attempt to capture this param |
f969917f |
27 | is => 'ro', |
28 | isa => 'Str', |
29 | default => 'file.dat', |
30 | ); |
31 | |
32 | =head1 DESCRIPTION |
33 | |
669588e2 |
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> |
f969917f |
37 | metaclass. |
38 | |
1e592bee |
39 | has 'foo' => (metaclass => 'MooseX::Getopt::Meta::Attribute::NoGetopt', ... ); |
40 | |
41 | =head2 Custom Metaclass alias |
42 | |
43 | This now takes advantage of the Moose 0.19 feature to support |
44 | custom attribute metaclass. This means you can also |
45 | use this as the B<NoGetopt> alias, like so: |
46 | |
47 | has 'foo' => (metaclass => 'NoGetopt', cmd_flag => 'f'); |
f969917f |
48 | |
f969917f |
49 | =cut |