<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package MooseX::Getopt::Meta::Attribute;
BEGIN {
  $MooseX::Getopt::Meta::Attribute::AUTHORITY = 'cpan:STEVAN';
}
{
  $MooseX::Getopt::Meta::Attribute::VERSION = '0.45';
}
# ABSTRACT: Optional meta attribute for custom option names

use Moose;
use Moose::Util::TypeConstraints;

extends 'Moose::Meta::Attribute'; # &lt;&lt; Moose extending Moose :)
   with 'MooseX::Getopt::Meta::Attribute::Trait';

no Moose;

# register this as a metaclass alias ...
package # stop confusing PAUSE
    Moose::Meta::Attribute::Custom::Getopt;
sub register_implementation { 'MooseX::Getopt::Meta::Attribute' }

1;


__END__
=pod

=encoding utf-8

=head1 NAME

MooseX::Getopt::Meta::Attribute - Optional meta attribute for custom option names

=head1 SYNOPSIS

  package App;
  use Moose;

  with 'MooseX::Getopt';

  has 'data' =&gt; (
      metaclass =&gt; 'MooseX::Getopt::Meta::Attribute',
      is        =&gt; 'ro',
      isa       =&gt; 'Str',
      default   =&gt; 'file.dat',

      # tells MooseX::Getopt to use --somedata as the
      # command line flag instead of the normal
      # autogenerated one (--data)
      cmd_flag  =&gt; 'somedata',

      # tells MooseX::Getopt to also allow --moosedata,
      # -m, and -d as aliases for this same option on
      # the commandline.
      cmd_aliases =&gt; [qw/ moosedata m d /],

      # Or, you can use a plain scalar for a single alias:
      cmd_aliases =&gt; 'm',
  );

=head1 DESCRIPTION

This is a custom attribute metaclass which can be used to specify a
the specific command line flag to use instead of the default one
which L&lt;MooseX::Getopt&gt; will create for you.

This is certainly not the prettiest way to go about this, but for
now it works for those who might need such a feature.

=head2 Custom Metaclass alias

This now takes advantage of the Moose 0.19 feature to support
custom attribute metaclass aliases. This means you can also
use this as the B&lt;Getopt&gt; alias, like so:

  has 'foo' =&gt; (metaclass =&gt; 'Getopt', cmd_flag =&gt; 'f');

=head1 METHODS

=head2 B&lt;cmd_flag&gt;

Changes the commandline flag to be this value, instead of the default,
which is the same as the attribute name.

=head2 B&lt;cmd_aliases&gt;

Adds more aliases for this commandline flag, useful for short options
and such.

=head2 B&lt;has_cmd_flag&gt;

=head2 B&lt;has_cmd_aliases&gt;

=head1 AUTHORS

=over 4

=item *

Stevan Little &lt;stevan@iinteractive.com&gt;

=item *

Brandon L. Black &lt;blblack@gmail.com&gt;

=item *

Yuval Kogman &lt;nothingmuch@woobling.org&gt;

=item *

Ryan D Johnson &lt;ryan@innerfence.com&gt;

=item *

Drew Taylor &lt;drew@drewtaylor.com&gt;

=item *

Tomas Doran &lt;bobtfish@bobtfish.net&gt;

=item *

Florian Ragwitz &lt;rafl@debian.org&gt;

=item *

Dagfinn Ilmari MannsÃ¥ker &lt;ilmari@ilmari.org&gt;

=item *

Ã†var ArnfjÃ¶rÃ° Bjarmason &lt;avar@cpan.org&gt;

=item *

Chris Prather &lt;perigrin@cpan.org&gt;

=item *

Karen Etheridge &lt;ether@cpan.org&gt;

=item *

Jonathan Swartz &lt;swartz@pobox.com&gt;

=back

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Infinity Interactive, Inc.

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

=cut

</pre></body></html>