Jonathan Swartz > Mason > Mason::Plugin::LvalueAttributes

Download:
Mason-2.22.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  1
View/Report Bugs
Module Version: 2.22   Source  

NAME ^

Mason::Plugin::LvalueAttributes - Create lvalue accessors for all rw component attributes

SYNOPSIS ^

    <%class>
    has 'a' => (is => "rw")
    has 'b' => (is => "ro")
    </%class>

    <%init>
    # set a to 5
    $.a = 5;

    # set a to 6
    $.a(6);

    # error
    $.b = 7;
    </%init>

DESCRIPTION ^

This plugins creates an Lvalue accessor for every read/write attribute in the component. Which means that instead of writing:

    $.name( "Foo" );

you can use the more natural syntax

    $.name = "Foo";

WARNING ^

Standard Moose setter features such as type checking, triggers, and coercion will not work on Lvalue attributes. You should only use this plugin when the convenience of the Lvalue attributes outweighs the need for setter features.

ACKNOWLEDGEMENTS ^

Inspired by Christopher Brown's MooseX::Meta::Attribute::Lvalue.

SEE ALSO ^

Mason

AUTHOR ^

Jonathan Swartz <swartz@pobox.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2012 by Jonathan Swartz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: