use strict;
use warnings;
+use B ();
use Carp ();
use Moose::Role;
$source .= ";\n" if $source;
my @attrs = (
- map {"$_ => 1,"}
+ '__INSTANCE__ => 1,',
+ map { B::perlstring($_) . ' => 1,' }
grep {defined}
map { $_->init_arg() } @{ $self->_attributes() }
);
1;
+# ABSTRACT: A role to make immutable constructors strict
+
__END__
=pod
-=head1 NAME
-
-MooseX::StrictConstructor::Role::Meta::Method::Constructor - A role to make immutable constructors strict
-
=head1 SYNOPSIS
- Moose::Util::MetaRole::apply_metaclass_roles
- ( for_class => $caller,
- constructor_class_roles =>
- ['MooseX::StrictConstructor::Role::Meta::Method::Constructor'],
- );
+ Moose::Util::MetaRole::apply_metaroles(
+ for_class => $caller,
+ class => {
+ constructor =>
+ ['MooseX::StrictConstructor::Role::Meta::Method::Constructor'],
+ },
+ );
=head1 DESCRIPTION
C<Moose::Meta::Method::Constructor>) so that immutable classes have a
strict constructor.
-=head1 AUTHOR
-
-Dave Rolsky, C<< <autarch@urth.org> >>
-
-=head1 COPYRIGHT & LICENSE
-
-Copyright 2007-2008 Dave Rolsky, All Rights Reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
=cut