# 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](https://metacpan.org/pod/MooseX::Attribute::Chained) using classes to [Moo](https://metacpan.org/pod/Moo). In [Moose](https://metacpan.org/pod/Moose) you would write: package Bar; use Moose; use MooseX::Attribute::Chained; has baz => ( is=>'rw', traits=>['Chained'] ); To port the above to [Moo](https://metacpan.org/pod/Moo) just change it to: package Bar; use Moo; use MooX::ChainedAttributes; has baz => ( is=>'rw', chained=>1 ); # AUTHOR Aran Clary Deltac # CONTRIBUTORS - Graham Knop # LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.