Sha256: 8e69809d0dfbd8c98806218bdd38cbea65c2f935118bf4765c214655f00bd712

Contents?: true

Size: 1.05 KB

Versions: 18

Compression:

Stored size: 1.05 KB

Contents

package Moose::Exception::Role::EitherAttributeOrAttributeName;
our $VERSION = '2.2203';

use Moose::Util 'throw_exception';
use Moose::Role;

has 'attribute_name' => (
    is         => 'ro',
    isa        => 'Str',
    lazy_build => 1
);

has 'attribute' => (
    is        => 'ro',
    isa       => 'Class::MOP::Attribute',
    predicate => 'has_attribute'
);

has 'params' => (
    is        => 'ro',
    isa       => 'HashRef',
    predicate => 'has_params',
);

sub _build_attribute_name {
    my $self = shift;

    if( !$self->has_attribute )
    {
        throw_exception("NeitherAttributeNorAttributeNameIsGiven");
    }

    return $self->attribute->name;
}

after "BUILD" => sub {
    my $self = $_[0];

    if( $self->has_attribute_name &&
        $self->has_attribute &&
        ( $self->attribute->name ne $self->attribute_name ) )
    {
        throw_exception( AttributeNamesDoNotMatch => attribute_name => $self->attribute_name,
                                                     attribute      => $self->attribute
                       );
    }
};

1;

Version data entries

18 entries across 9 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.1.6 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.6 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.5 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.5 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.4 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.4 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.3 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.3 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.2 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.2 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.1 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.1 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.0 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.1.0 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.0.4 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.0.4 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.0.1 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/Moose/Exception/Role/EitherAttributeOrAttributeName.pm
javonet-ruby-sdk-2.0.1 lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm