NAME
MooseX::HandlesConstructor - Moo[se] extension that allows for setting handle accessors with the constructor
VERSION
version 0.001
SYNOPSIS
package Message;
use Moo; # or Moose traits
use MooX::HandlesVia;
use MooseX::HandlesConstructor;
has header => ( is => 'rw',
default => sub { {} },
handles_via => 'Hash',
handles => {
session => [ accessor => 'session' ],
msg_type => [ accessor => 'msg_type' ]
}
);
# elsewhere...
my $msg = Message->new( msg_type => 'reply', header => { answer => 42 } );
use Data::Dumper; print Dumper $msg->header;
# $VAR1 = {
# 'answer' => 42,
# 'msg_type' => 'reply'
# };
DESCRIPTION
When using Moo or Moose handles that provide an accessor handle on an attribute, it may make sense to pass the name of handles to the constructor to simplify the API. Using this module will get all curried accessor handles defined in a class and allow setting them when calling -
new()>
SEE ALSO
MooX::HandlesVia, Moose native delegation.
AUTHOR
Zakariyya Mughal <zmughal@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Zakariyya Mughal.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.