File Coverage

blib/lib/Moose/Exception/AttributeConflictInRoles.pm
Criterion Covered Total %
statement 8 8 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 10 10 100.0


line stmt bran cond sub pod time code
1             package Moose::Exception::AttributeConflictInRoles;
2             our $VERSION = '2.2205';
3              
4 2     2   1389 use Moose;
  2         6  
  2         18  
5             extends 'Moose::Exception';
6             with 'Moose::Exception::Role::Role';
7              
8             has 'second_role_name' => (
9             is => 'ro',
10             isa => 'Str',
11             required => 1
12             );
13              
14             has 'attribute_name' => (
15             is => 'ro',
16             isa => 'Str',
17             required => 1
18             );
19              
20             sub _build_message {
21 2     2   4 my $self = shift;
22 2         68 my $role_name = $self->role_name;
23 2         67 my $second_role_name = $self->second_role_name;
24 2         71 my $attribute_name = $self->attribute_name;
25 2         64 "Role '$role_name' has encountered an attribute conflict"
26             . " while being composed into '$second_role_name'."
27             . " This is a fatal error and cannot be disambiguated."
28             . " The conflicting attribute is named '$attribute_name'.";
29             }
30              
31             __PACKAGE__->meta->make_immutable;
32             1;