blob: 711f5f6e8f73e3ac3d4acc59717730eb4b657687 (
plain) (
tree)
|
|
NAME
MooseX::Privacy - Provides the syntax to restrict/control visibility of
your methods
SYNOPSIS
use MooseX::Privacy;
private _foo => sub {
return 23;
};
protected _bar => sub {
return 42;
};
DESCRIPTION
MooseX::Privacy brings the concept of private and protected methods to
your class.
Private
When you declare a method as private, this method can be called only
within the class.
package Foo;
use Moose;
use MooseX::Privacy;
private _foo => sub { return 23 };
sub foo { my $self = shift; $self->_foo }
1;
my $foo = Foo->new;
$foo->_foo; # die
$foo->foo; # ok
Protected
When you declare a method as protected, this method can be called only
within the class AND any of it's subclasses.
package Foo;
use Moose;
use MooseX::Privacy;
protected _foo => sub { return 23 };
package Bar;
use Moose;
extends Foo;
sub foo { my $self = shift; $self->_foo }
1;
my $foo = Foo->new;
$foo->_foo; # die
my $bar = Bar->new;
$bar->foo; # ok
AUTHOR
franck cuny <franck@lumberjaph.net>
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
|