summaryrefslogtreecommitdiff
path: root/lib/MooseX/Privacy/Trait/Private.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/MooseX/Privacy/Trait/Private.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/MooseX/Privacy/Trait/Private.pm b/lib/MooseX/Privacy/Trait/Private.pm
new file mode 100644
index 0000000..c588032
--- /dev/null
+++ b/lib/MooseX/Privacy/Trait/Private.pm
@@ -0,0 +1,15 @@
+package MooseX::Privacy::Trait::Private;
+
+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::Private'],
+ cache => 1
+ )->name;
+};
+
+1;