NAME

Venus::Role::Stashable - Stashable Role

ABSTRACT

Stashable Role for Perl 5

SYNOPSIS

package Example;

use Venus::Class;

with 'Venus::Role::Stashable';

attr 'test';

package main;

my $example = Example->new(test => time);

# $example->stash;

DESCRIPTION

This package modifies the consuming package and provides methods for stashing data within the object. This role differs from Venus::Role::Encaseable in that it obsures the stash but its data is easily accessible without getters and setters, whereas Encaseable provides getters and setters to help obscure the private instance data.

METHODS

This package provides the following methods:

stash

stash(any $key, any $value) (any)

The stash method is used to fetch and stash named values associated with the object. Calling this method without arguments returns all values.

Since 0.01

stash example 1
package main;

my $example = Example->new(test => time);

my $stash = $example->stash;

# {}
stash example 2
package main;

my $example = Example->new(test => time);

my $stash = $example->stash('test', {1..4});

# { 1 => 2, 3 => 4 }
stash example 3
package main;

my $example = Example->new(test => time);

my $stash = $example->stash('test');

# undef

AUTHORS

Awncorp, awncorp@cpan.org

LICENSE

Copyright (C) 2022, Awncorp, awncorp@cpan.org.

This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.