Franck Cuny > MooseX-MethodPrivate-0.1.2 > MooseX::MethodPrivate

Download:
MooseX-MethodPrivate-0.1.2.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.1.2   Source  

NAME ^

MooseX::MethodPrivate - Declare methods private or protected

SYNOPSIS ^

    package Foo;
    use MooseX::MethodPrivate;

    private 'foo' => sub {
        ...
    }

    protected 'bar' => sub {
        ...
    }

    ...

    my $foo = Foo->new;
    $foo->foo; # die, can't call foo because it's a private method
    $foo->bar; # die, can't call bar because it's a protected method

    package Bar;
    use MooseX::MethodPrivate;
    extends qw/Foo/;

    sub baz {
        my $self = shift;
        $self->foo; # die, can't call foo because it's a private method
        $self->bar; # ok, can call this method because we extends Foo and
                    # it's a protected method
    }

DESCRIPTION ^

MooseX::MethodPrivate add two new keyword for methods declaration:

private
protected

METHODS

private

A private method is visible only in the class.

protected

A protected method is visible in the class and any subclasses.

AUTHOR ^

franck cuny <franck.cuny {at} rtgi.fr>

SEE ALSO ^

Idea stolen from Moose::Cookbook::Meta::Recipe6.

LICENSE ^

Copyright (c) 2009, RTGI All rights reserved.

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