use MooseX::StrictConstructor::Trait::Class;
use MooseX::StrictConstructor::Trait::Method::Constructor;;
-Moose::Exporter->setup_import_methods(
- class_metaroles => {
- class => ['MooseX::StrictConstructor::Trait::Class'],
- constructor =>
- ['MooseX::StrictConstructor::Trait::Method::Constructor'],
- },
+my %metaroles = (
+ class => ['MooseX::StrictConstructor::Trait::Class'],
);
+$metaroles{constructor}
+ = ['MooseX::StrictConstructor::Trait::Method::Constructor']
+ if $Moose::VERSION >= 1.9900;
+
+Moose::Exporter->setup_import_methods( class_metaroles => \%metaroles );
+
1;
# ABSTRACT: Make your object constructors blow up on unknown attributes
);
} if $Moose::VERSION >= 1.9900;
+around _eval_environment => sub {
+ my $orig = shift;
+ my $self = shift;
+
+ my $env = $self->$orig();
+
+ my %attrs = map { $_ => 1 }
+ grep { defined }
+ map { $_->init_arg() }
+ $self->get_all_attributes();
+
+ $attrs{__INSTANCE__} = 1;
+
+ $env->{'%allowed_attrs'} = \%attrs;
+
+ return $env;
+} if $Moose::VERSION >= 1.9900;
+
1;
# ABSTRACT: A role to make immutable constructors strict
return $source;
} if $Moose::VERSION < 1.9900;
-around _eval_environment => sub {
- my $orig = shift;
- my $self = shift;
-
- my $env = $self->$orig();
-
- my %attrs = map { $_ => 1 }
- grep { defined }
- map { $_->init_arg() }
- $self->associated_metaclass()->get_all_attributes();
-
- $attrs{__INSTANCE__} = 1;
-
- $env->{'%allowed_attrs'} = \%attrs;
-
- return $env;
-} if $Moose::VERSION >= 1.9900;
-
1;
# ABSTRACT: A role to make immutable constructors strict