Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

67 lines (45 sloc) 1.341 kb
MooseX::ChainedAccessors
Chained accessors on write operations for Moose.
INSTALLATION
To install this module, run the following commands:
perl ./Makefile.PL
make test
make install
USAGE
package MyClass;
use Moose;
has 'chained_attr' =>
(
traits => ['Chained'],
is => 'rw',
isa => 'Str',
);
sub my_method
{
my $self = shift;
print 'hello, ' . $self->chained_attr;
}
1;
MyClass->new->chained_attr('world')->my_method(); # hello, world!
Chained accessors also work with explicit 'reader/writer' accessors.
package MyClass;
use Moose;
has 'attr' =>
(
traits => ['Chained'],
is => 'rw',
isa => 'Str',
reader => 'get_attr',
writer => 'set_sttr',
);
sub my_method
{
my $self = shift;
print $self->get_attr;
}
1l
MyClass->new->set_attr('hello, world')->my_method(); # hello, world
Hopefully it's obvious why read operations can't be chained.
DOCUMENTATION
See http://search.cpan.org/dist/Moose/lib/Moose/Cookbook/Meta/Recipe3.pod for documentation on using traits.
And also http://www.dmclaughlin.com/2009/05/15/chained-accessors-in-moose/ for the release post.
Jump to Line
Something went wrong with that request. Please try again.