NAME
Data::Object::Vars
ABSTRACT
Env Vars Class for Perl 5
SYNOPSIS
package main;
use Data::Object::Vars;
local %ENV = (USER => 'ubuntu', HOME => '/home/ubuntu');
my $vars = Data::Object::Vars->new(
named => { iam => 'USER', root => 'HOME' }
);
# $vars->root; # $ENV{HOME}
# $vars->home; # $ENV{HOME}
# $vars->get('home'); # $ENV{HOME}
# $vars->get('HOME'); # $ENV{HOME}
# $vars->iam; # $ENV{USER}
# $vars->user; # $ENV{USER}
# $vars->get('user'); # $ENV{USER}
# $vars->get('USER'); # $ENV{USER}
DESCRIPTION
This package provides methods for accessing %ENV items.
INTEGRATES
This package integrates behaviors from:
Data::Object::Role::Buildable
Data::Object::Role::Proxyable
Data::Object::Role::Stashable
LIBRARIES
This package uses type constraints from:
Types::Standard
ATTRIBUTES
This package has the following attributes:
named
named(HashRef)
This attribute is read-only, accepts (HashRef) values, and is optional.
METHODS
This package implements the following methods:
exists
exists(Str $key) : Any
The exists method takes a name or index and returns truthy if an
associated value exists.
exists example #1
# given: synopsis
$vars->exists('iam'); # truthy
exists example #2
# given: synopsis
$vars->exists('USER'); # truthy
exists example #3
# given: synopsis
$vars->exists('PATH'); # falsy
get
get(Str $key) : Any
The get method takes a name or index and returns the associated value.
get example #1
# given: synopsis
$vars->get('iam'); # ubuntu
get example #2
# given: synopsis
$vars->get('USER'); # ubuntu
get example #3
# given: synopsis
$vars->get('PATH'); # undef
name
name(Str $key) : Any
The name method takes a name or index and returns index if the the
associated value exists.
name example #1
# given: synopsis
$vars->name('iam'); # USER
name example #2
# given: synopsis
$vars->name('USER'); # USER
name example #3
# given: synopsis
$vars->name('PATH'); # undef
set
set(Str $key, Maybe[Any] $value) : Any
The set method takes a name or index and sets the value provided if the
associated argument exists.
set example #1
# given: synopsis
$vars->set('iam', 'root'); # root
set example #2
# given: synopsis
$vars->set('USER', 'root'); # root
set example #3
# given: synopsis
$vars->set('PATH', '/tmp'); # undef
# is not set
stashed
stashed() : HashRef
The stashed method returns the stashed data associated with the object.
stashed example #1
# given: synopsis
$vars->stashed
AUTHOR
Al Newkirk, awncorp@cpan.org
LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under
the terms of the The Apache License, Version 2.0, as elucidated in the
"license file"
<https://github.com/iamalnewkirk/data-object-vars/blob/master/LICENSE>.
PROJECT
Wiki <https://github.com/iamalnewkirk/data-object-vars/wiki>
Project <https://github.com/iamalnewkirk/data-object-vars>
Initiatives <https://github.com/iamalnewkirk/data-object-vars/projects>
Milestones
<https://github.com/iamalnewkirk/data-object-vars/milestones>
Contributing
<https://github.com/iamalnewkirk/data-object-vars/blob/master/CONTRIBUTE.md>
Issues <https://github.com/iamalnewkirk/data-object-vars/issues>