From 64cab1daa8d6fe0182cef602be235a89f95987c7 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Mon, 1 Mar 2010 22:17:49 +0100 Subject: start to implement private and protected attributes --- lib/MooseX/Privacy/Trait/Protected.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/MooseX/Privacy/Trait/Protected.pm (limited to 'lib/MooseX/Privacy/Trait/Protected.pm') diff --git a/lib/MooseX/Privacy/Trait/Protected.pm b/lib/MooseX/Privacy/Trait/Protected.pm new file mode 100644 index 0000000..7a8037c --- /dev/null +++ b/lib/MooseX/Privacy/Trait/Protected.pm @@ -0,0 +1,15 @@ +package MooseX::Privacy::Trait::Protected; + +use Moose::Role; + +around accessor_metaclass => sub { + my ( $orig, $self, @rest ) = @_; + + return Moose::Meta::Class->create_anon_class( + superclasses => [ $self->$orig(@_) ], + roles => ['MooseX::Privacy::Meta::Attribute::Protected'], + cache => 1 + )->name; +}; + +1; -- cgit 1.4.1