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

FreeBSD Manual Pages

  
 
  

home | help
MooX::Attribute::ENV(3User Contributed Perl DocumentatiMooX::Attribute::ENV(3)

NAME
       MooX::Attribute::ENV - Allow Moo	attributes to get their	values from
       %ENV

SYNOPSIS
	 package MyMod;
	 use Moo;
	 use MooX::Attribute::ENV;
	 # look	for $ENV{attr_val} and $ENV{ATTR_VAL}
	 has attr => (
	   is => 'ro',
	   env_key => 'attr_val',
	 );
	 # looks for $ENV{otherattr} and $ENV{OTHERATTR}, then any default
	 has otherattr => (
	   is => 'ro',
	   env => 1,
	   default => 7,
	 );
	 # looks for $ENV{xxx_prefixattr} and $ENV{XXX_PREFIXATTR}
	 has prefixattr	=> (
	   is => 'ro',
	   env_prefix => 'xxx',
	 );
	 # looks for $ENV{MyMod_packageattr} and $ENV{MYMOD_PACKAGEATTR}
	 has packageattr => (
	   is => 'ro',
	   env_package_prefix => 1,
	 );

	 $ perl	-MMyMod	-E 'say	MyMod->new(attr	=> 2)->attr'
	 # 2
	 $ ATTR_VAL=3 perl -MMyMod -E 'say MyMod->new->attr'
	 # 3
	 $ OTHERATTR=4 perl -MMyMod -E 'say MyMod->new->otherattr'
	 # 4

DESCRIPTION
       This is a Moo extension.	It allows other	attributes for "has" in	Moo.
       If any of these are given, then instead of the normal value-setting
       "chain" for attributes of given,	default; the chain will	be given,
       environment, default.

       The environment will be searched	for either the given case, or upper
       case, version of	the names discussed below.

       When a prefix is	mentioned, it will be prepended	to the mentioned name,
       with a "_" in between.

ADDITIONAL ATTRIBUTES
   env
       Boolean.	If true, the name is the attribute, no prefix.

   env_key
       String. If true,	the name is the	given value, no	prefix.

   env_prefix
       String. The prefix is the given value.

   env_package_prefix
       Boolean.	If true, use as	the prefix the current package-name, with "::"
       replaced	with "_".

AUTHOR
       Ed J, porting John Napiorkowski's excellent MooseX::Attribute::ENV.

LICENCE
       The same	terms as Perl itself.

perl v5.32.1			  2019-03-15	       MooX::Attribute::ENV(3)

NAME | SYNOPSIS | DESCRIPTION | ADDITIONAL ATTRIBUTES | AUTHOR | LICENCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooX::Attribute::ENV&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help