NAME
MooseX::Meta::Attribute::Lvalue - Immplements lvalue accessors via meta-attribute trait
VERSION
Version 0.03
SYNOPSIS
package App;
use Moose;
with 'MooseX::Meta::Attribute::Lvalue';
has 'name' => (
is => 'rw' ,
isa => 'Str' ,
required => 1 ,
traits => [ 'Lvalue' ] , # DO NOT FORGET THIS
lvalue => 1
);
package main;
my $app = App->new( name => 'Foo' );
$app->name = "Bar";
print $app->name; # Bar
DESCRIPTION
This package provides a Moose meta attribute via a role/trait that provides Lvalue accessors to your Moose attributes when the Lvalue is true.
Moose does not support lvalue accessors due to existing limitations in the lvalue implementation. Specifically, the lvalue accessors break certain encapsulations. However with many simple classes, you often don't care and would rather use the Lvalue syntax. This module provides that functionality.
While the how/when the lvalue accessor gets built might change, the API will not likely change.
METHODS
- _install_lvalue_writer
-
This method installs lvalue writers for those attributes that are: 1) rw 2) the attribute has a true lvalue 3) the attribute does MooseX::Meta::Attribute::Trait::Lvalue
- BUILD
-
This is just a dummy subroutine so that we can apply after, before methods
EXPORT
None by default.
AUTHOR
Christopher Brown, <cbrown at opendatagroup.com>
BUGS
Please report any bugs or feature requests to bug-moosex-attribute-lvalue at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-Attribute-Lvalue. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc MooseX::Attribute::Lvalue
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-Attribute-Lvalue
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2008 Christopher Brown, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.