NAME
MooX::ChainedAttributes - Make your attributes chainable.
SYNOPSIS
package Foo;
use Moo;
use MooX::ChainedAttributes;
has name => (
is => 'rw',
chained => 1,
);
has age => (
is => 'rw',
);
chain('age');
sub who {
my ($self) = @_;
print "My name is " . $self->name() . "!\n";
}
my $foo = Foo->new();
$foo->name('Fred')->who(); # My name is Fred!
DESCRIPTION
This module exists for your method chaining enjoyment. It was originally developed in order to support the porting of MooseX::Attribute::Chained using classes to Moo.
In Moose you would write:
package Bar;
use Moose;
use MooseX::Attribute::Chained;
has baz => ( is=>'rw', traits=>['Chained'] );
To port the above to Moo just change it to:
package Bar;
use Moo;
use MooX::ChainedAttributes;
has baz => ( is=>'rw', chained=>1 );
AUTHOR
Aran Clary Deltac <bluefeet@gmail.com>
CONTRIBUTORS
Graham Knop <haarg@haarg.org>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.