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.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 77:
Non-ASCII character seen before =encoding in '# die,'. Assuming UTF-8