diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
commit | 5ac2026f7eed78958d69d051e7a8e993dcf51205 (patch) | |
tree | 298c3d2f08bdfe5689998b11892d72a897985be1 /lib/Moose/Exception/AttributeConflictInSummation.pm | |
download | Moose-tarball-master.tar.gz |
Moose-2.1405HEADMoose-2.1405master
Diffstat (limited to 'lib/Moose/Exception/AttributeConflictInSummation.pm')
-rw-r--r-- | lib/Moose/Exception/AttributeConflictInSummation.pm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/Moose/Exception/AttributeConflictInSummation.pm b/lib/Moose/Exception/AttributeConflictInSummation.pm new file mode 100644 index 0000000..81ba5b7 --- /dev/null +++ b/lib/Moose/Exception/AttributeConflictInSummation.pm @@ -0,0 +1,27 @@ +package Moose::Exception::AttributeConflictInSummation; +our $VERSION = '2.1405'; + +use Moose; +extends 'Moose::Exception'; +with 'Moose::Exception::Role::Role', 'Moose::Exception::Role::AttributeName'; + +has 'second_role_name' => ( + is => 'ro', + isa => 'Str', + required => 1, +); + +sub _build_message { + my $self = shift; + + my $role1 = $self->role_name; + my $role2 = $self->second_role_name; + my $attr_name = $self->attribute_name; + + return "We have encountered an attribute conflict with '$attr_name'" + . " during role composition. " + . " This attribute is defined in both $role1 and $role2." + . " This is a fatal error and cannot be disambiguated."; +} + +1; |