Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MooseX::App::Meta::RolUsertContributedXPerlpD:Meta::Role::Attribute::Option(3)

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
       In your app and command classes you can use the following attributes in
       option or parameter definitions.

	option 'myoption' => (
	    is		       => 'rw',
	    isa		       => 'ArrayRef[Str]',
	    documentation      => 'My special option',
	    cmd_flag	       => 'myopt',
	    cmd_aliases	       => [qw(mopt localopt)],
	    cmd_tags	       => [qw(Important!)],
	    cmd_env	       => 'MY_OPTION',
	    cmd_position       => 1,
	    cmd_split	       => qr/,/,
	    cmd_negate	       => 'notoption'
	);

   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:

       o   option - Command line option

       o   proto - Command line	option that should be processed	prior to other
	   options (eg.	a config-file option that sets other attribues)
	   Usually only	used for plugin	developmemt

       o   parameter - Positional parameter command line value

   cmd_env
       Environment variable name (only uppercase letters, numeric and
       underscores allowed). If	variable was not specified otherwise the value
       will be taken from %ENV.

   cmd_aliases
       Arrayref	of alternative option names

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

   cmd_position
       Override	the order of the parameters in the usage message.

   cmd_split
       Splits multiple values at the given separator string or regular
       expression.  Only works in conjunction with an 'ArrayRef[*]' type
       constraint.  ie.	'--myattr value1,value2' with cmd_split	set to ','
       would produce an	arrayref with to elements.

   cmd_count
       Similar to the Getopt::Long '+' modifier, cmd_count turns the attribute
       into a counter. Every occurrence	of the attribute in @ARGV (without any
       value) would increment the resulting value by one

   cmd_negate
       Sets names for the negated variant of a boolean field. Only works in
       conjunction with	a 'Bool' type constraint.

METHODS
       These methods are only of interest to plugin authors.

   cmd_check
       Runs sanity checks on options and parameters. Will usually only be
       executed	if either HARNESS_ACTIVE or APP_DEVELOPER environment are set.

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

       Returns a list of all possible option names.

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

       Similar to cmd_name_possible this method	returns	a list of option
       names, except for names set via cmd_negate.

   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_type_constraint_check
	$attribute->cmd_type_constraint_check($value)

       Checks the type constraint. Returns an error message if the check fails

   cmd_type_constraint_description
	$attribute->cmd_type_constraint_description($type_constraint,$singular)

       Creates a description of	the selected type constraint.

perl v5.32.0			 MooseX::App::Meta::Role::Attribute::Option(3)

NAME | DESCRIPTION | ACCESSORS | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooseX::App::Meta::Role::Attribute::Option&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help