doc fixes; 0.01 release
[gitmo/MooseX-Runnable.git] / lib / MooseX / Runnable / Invocation / Scheme / MooseX / Getopt.pm
1 package MooseX::Runnable::Invocation::Scheme::MooseX::Getopt;
2 use Moose::Role;
3
4 around validate_class => sub {
5     return; # always valid
6 };
7
8 around create_instance => sub {
9     my ($next, $self, $class, @args) = @_;
10
11     local @ARGV = @args; # ugly!
12     my $instance = $class->name->new_with_options();
13
14     my $more_args = $instance->extra_argv;
15
16     return ($instance, @$more_args);
17 };
18
19 # XXX: arounds that don't actually call $orig fuck up plugins.  i
20 # think that's OK, mostly, but it's something to keep in mind...
21
22 1;
23
24 __END__
25
26 =head1 NAME
27
28 MooseX::Runnable::Invocation::Scheme::MooseX::Getopt - run MX::Getopt classes
29
30 =head1 DESCRIPTION
31
32 This role will be used by C<MooseX::Runnable::Invocation> to create an
33 instance of the class to be run with C<MooseX::Getopt>.  Any args not
34 consumed by MX::Getopt will be passed to the class's run method.
35
36 (See the test C<t/basic-mx-getopt.t> for an example.)
37
38 =head1 SEE ALSO
39
40 L<MooseX::Runnable>
41
42 L<MooseX::Getopt>