The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MooseX::PrivateSetters::Role::Attribute - Names setters as such, and makes them private

SYNOPSIS

    Moose::Exporter->setup_import_methods(
        class_metaroles => {
            attribute => ['MooseX::PrivateSetters::Role::Attribute'],
        },
    );

DESCRIPTION

This role applies a method modifier to the _process_options() method, and tweaks the writer parameters so that they are private with an explicit '_set_attr' method. Getters are left unchanged. This role copes with attributes intended to be private (ie, starts with an underscore), with no double-underscore in the setter.

For example:

    | Code                      | Reader | Writer      |
    |---------------------------+--------+-------------|
    | has 'baz'  => (is 'rw');  | baz()  | _set_baz()  |
    | has 'baz'  => (is 'ro');  | baz()  |             |
    | has '_baz' => (is 'rw');  | _baz() | _set_baz()  |
    | has '__baz' => (is 'rw'); | _baz() | _set__baz() |

You probably don't want to use this module. You probably should be looking at MooseX::PrivateSetters instead.

AUTHOR

brian greenfield <briang@cpan.org>

COPYRIGHT & LICENSE

Copyright 2010 brian greenfield

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