Nano::Stash

Stashable Role

Stashable Entity Role

method: get method: set method: stash

package Example;

use Moo;

extends 'Nano::Node';

with 'Nano::Stash';

sub bestie {
  my ($self, @args) = @_;
  return $self->stash('bestie', @args);
}

package main;

my $example = Example->new;

# $example->bestie($example);

Nano::Types

stashed: ro, opt, HashRef

This package provides an entity-stashing role, useful for the ad-hoc persisting of Nano::Node entities. This role also makes it possible to save/load circularly dependent entities.

The get method finds and loads a previously stashed Nano::Node entity.

get(Str $name) : Maybe[Node]

=example-1 get

my $example = Example->new;

my $bestie = $example->get('bestie');

=example-2 get

my $example = Example->new;

$example->bestie($example);
$example->save;

my $bestie = $example->get('bestie');

The set method stashes the Nano::Node entity provided by name. This does not save the subject or invocant.

set(Str $name, Node $node) : Node

=example-1 set

my $example = Example->new;

my $bestie = $example->set('bestie', $example);

The stash method will "get" or "set" a stashed Nano::Node entity based on the arguments provided.

stash(Str $name, Maybe[Node] $node) : Maybe[Node]

=example-1 stash

my $example = Example->new;

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

=example-2 stash

my $example = Example->new;

$example->bestie($example);
$example->save;

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

=example-3 stash

my $example = Example->new;

my $bestie = $example->stash('bestie', $example);

14 POD Errors

The following errors were encountered while parsing the POD:

Around line 10:

Unknown directive: =name

Around line 16:

Unknown directive: =tagline

Around line 22:

Unknown directive: =abstract

Around line 28:

Unknown directive: =includes

Around line 36:

Unknown directive: =synopsis

Around line 59:

Unknown directive: =libraries

Around line 65:

Unknown directive: =attributes

Around line 71:

Unknown directive: =description

Around line 79:

Unknown directive: =method

Around line 83:

Unknown directive: =signature

Around line 104:

Unknown directive: =method

Around line 109:

Unknown directive: =signature

Around line 121:

Unknown directive: =method

Around line 126:

Unknown directive: =signature