summaryrefslogtreecommitdiff
path: root/lib/MooseX/Privacy/Trait/Protected.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/MooseX/Privacy/Trait/Protected.pm15
1 files changed, 15 insertions, 0 deletions
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;