Check body, because original_package_name may be a different role
[gitmo/Perl-Critic-Dynamic-Moose.git] / lib / Perl / Critic / Policy / DynamicMoose / ProhibitPublicBuilders.pm
index 9cbbe5d..1055344 100644 (file)
@@ -1,6 +1,6 @@
 package Perl::Critic::Policy::DynamicMoose::ProhibitPublicBuilders;
 use Moose;
-extends 'Perl::Critic::Policy::DynamicMoose';
+extends 'Perl::Critic::DynamicMoosePolicy';
 
 use Perl::Critic::Utils ':severities';
 use Perl::Critic::Utils::Moose 'meta_type';
@@ -18,9 +18,8 @@ sub violates_metaclass {
 
     my @violations;
 
-    my $attributes = $meta->get_attribute_map;
-    for my $name (keys %$attributes) {
-        my $attribute = $attributes->{$name};
+    for my $name ($meta->get_attribute_list) {
+        my $attribute = $meta->get_attribute($name);
         my $builder;
 
         if (blessed($attribute)) {
@@ -75,5 +74,9 @@ network or mutating files).
 For this Policy to work, all the modules included in your code must be
 installed locally, and must compile without error.
 
+=head1 AUTHOR
+
+Shawn M Moore, C<sartak@bestpractical.com>
+
 =cut