s/"/'/g
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / Role / Meta / Method / Constructor.pm
index fa3e7a6..43b2aa2 100644 (file)
@@ -3,6 +3,7 @@ package MooseX::StrictConstructor::Role::Meta::Method::Constructor;
 use strict;
 use warnings;
 
+use B ();
 use Carp ();
 
 use Moose::Role;
@@ -15,7 +16,8 @@ around '_generate_BUILDALL' => sub {
     $source .= ";\n" if $source;
 
     my @attrs = (
-        map  {"$_ => 1,"}
+        '__INSTANCE__ => 1,',
+        map { B::perlstring($_) . ' => 1,' }
         grep {defined}
         map  { $_->init_arg() } @{ $self->_attributes() }
     );
@@ -37,21 +39,21 @@ no Moose::Role;
 
 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
 
@@ -59,16 +61,5 @@ This role simply wraps C<_generate_BUILDALL()> (from
 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