package Perl::Critic::Policy::DynamicMoose::RequireMethodModifiers;
use Moose;
-extends 'Perl::Critic::Policy::DynamicMoose';
+extends 'Perl::Critic::DynamicMoosePolicy';
use Perl::Critic::Utils ':severities';
use Perl::Critic::Utils::Moose 'meta_type';
sub default_severity { $SEVERITY_LOW }
sub violates_metaclass {
- my $self = shift;
- my $meta = shift;
+ my $self = shift;
+ my $class = shift;
my @violations;
- my $map = $meta->get_method_map;
-
- for my $name (keys %$map) {
- my $method = $map->{$name};
+ for my $name ($class->get_method_list) {
+ my $method = $class->get_method($name);
# override and augment modifiers are always fine.
next if $method->isa('Moose::Meta::Method::Overridden')
# XXX: this freaking sucks
next if $name eq 'meta' || $name eq 'BUILD' || $name eq 'DEMOLISH';
- my $next = $meta->find_next_method_by_name($name);
+ my $next = $class->find_next_method_by_name($name);
# Adding new methods is always fine.
next if !$next;
- push @violations, $self->violation("The '$name' method of class " . $meta->name . " does not use a method modifier to override its superclass implementation.", $EXPL);
+ push @violations, $self->violation("The '$name' method of class " . $class->name . " does not use a method modifier to override its superclass implementation.", $EXPL);
}
return @violations;