From 8e8a77e9f408b930308a357fcdad5137cb9b05b5 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Thu, 4 Mar 2010 06:17:41 +0100 Subject: more POD --- lib/MooseX/Privacy/Meta/Class/Private.pm | 29 +++++++++++++++++++++++++++++ lib/MooseX/Privacy/Meta/Class/Protected.pm | 28 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) (limited to 'lib/MooseX/Privacy') diff --git a/lib/MooseX/Privacy/Meta/Class/Private.pm b/lib/MooseX/Privacy/Meta/Class/Private.pm index d63757c..c0907fa 100644 --- a/lib/MooseX/Privacy/Meta/Class/Private.pm +++ b/lib/MooseX/Privacy/Meta/Class/Private.pm @@ -16,6 +16,16 @@ has local_private_methods => ( handles => { '_push_private_method' => 'push' }, ); +has local_private_attributes => ( + traits => ['Array'], + is => 'ro', + isa => ArrayRef [Str], + required => 1, + default => sub { [] }, + auto_deref => 1, + handles => { '_push_private_attribute' => 'push' }, +); + sub add_private_method { my ( $self, $method_name, $method ) = @_; @@ -36,6 +46,7 @@ sub add_private_method { } 1; + __END__ =head1 NAME @@ -46,10 +57,28 @@ MooseX::Privacy::Meta::Class::Private =head1 METHODS +=head2 local_private_attributes + +Arrayref of all private attributes + + my $private_attributes = $self->meta->local_private_attributes; + =head2 local_private_methods +Arrayref of all private methods + + my $private_methods = $self->meta->local_private_methods; + =head2 add_private_method +Add a private method to your object. + + $object->meta->add_private_method('foo', sub { return 23 }); + +or + + $object->meta->add_private_method('foo', MooseX::Privacy::Meta::Method::Private->wrap(name => 'foo', package_name => 'Foo', body => sub {return 23}); + =head1 AUTHOR franck cuny Efranck@lumberjaph.netE diff --git a/lib/MooseX/Privacy/Meta/Class/Protected.pm b/lib/MooseX/Privacy/Meta/Class/Protected.pm index f7b72ee..cdd980e 100644 --- a/lib/MooseX/Privacy/Meta/Class/Protected.pm +++ b/lib/MooseX/Privacy/Meta/Class/Protected.pm @@ -16,6 +16,16 @@ has local_protected_methods => ( handles => { '_push_protected_method' => 'push' }, ); +has local_protected_attributes => ( + traits => ['Array'], + is => 'ro', + isa => ArrayRef [Str], + required => 1, + default => sub { [] }, + auto_deref => 1, + handles => { '_push_protected_attribute' => 'push' }, +); + sub add_protected_method { my ( $self, $method_name, $method ) = @_; @@ -47,10 +57,28 @@ MooseX::Privacy::Meta::Class::Protected =head1 METHODS +=head2 local_protected_attributes + +Arrayref of all protected attributes + + my $protected_attributes = $self->meta->local_protected_attributes; + =head2 local_protected_methods +Arrayref of all protected methods + + my $protected_methods = $self->meta->local_protected_methods; + =head2 add_protected_method +Add a protected method to your object. + + $object->meta->add_protected_method('foo', sub { return 23 }); + +or + + $object->meta->add_protected_method('foo', MooseX::Privacy::Meta::Method::Protected->wrap(name => 'foo', package_name => 'Foo', body => sub {return 23}); + =head1 AUTHOR franck cuny Efranck@lumberjaph.netE -- cgit 1.4.1