NAME

MooseX::App::Meta::Role::Attribute::Option - Meta attribute role for options

DESCRIPTION

This meta attribute role will automatically be applied to all attributes that should be used as options.

ACCESSORS

cmd_flag

Use this name instead of the attribute name as the option name

cmd_type

Option to mark if this attribute should be used as an option or parameter value.

Allowed values are

  • option - Command line option

  • proto - Command line option that should be processed first (eg. a config-file option that sets other attribues)

  • parameter - Positional parameter command line value

cmd_aliases

Arrayref of alternative option names

cmd_tags

Extra option tags displayed in the usage information (in brackets)

cmd_position

Indicates the order of the parameters

cmd_split

Splits multiple values at the given separator string or regular expression. Only works in conjunction with an 'ArrayRef[*]' type constraint.

METHODS

These methods are only of interest to plugin authors.

cmd_name_possible

my @names = $attribute->cmd_name_possible();

Returns a list of all possible option names.

cmd_name_primary

my $name = $attribute->cmd_name_primary();

Returns the primary option name

cmd_usage_name

my $name = $attribute->cmd_usage_name();

Returns the name as used by the usage text

cmd_usage_description

my $name = $attribute->cmd_usage_description();

Returns the description as used by the usage text

cmd_tags_list

my @tags = $attribute->cmd_tags_list();

Returns a list of tags

cmd_is_bool

my $bool = $attribute->cmd_is_bool();

Returns true, false or undef depending on the type constraint and default of the attribute:

  • undef: Does not have a boolean type constraint

  • true: Has a boolean type constraint

  • false: Has a boolean type constraint, and a true default value