Rewrite and rename to use Moose::Util::MetaRole, and update the docs
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / Role / Metaclass.pm
diff --git a/lib/MooseX/StrictConstructor/Role/Metaclass.pm b/lib/MooseX/StrictConstructor/Role/Metaclass.pm
deleted file mode 100644 (file)
index 464924b..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-package MooseX::StrictConstructor::Role::Metaclass;
-
-use strict;
-use warnings;
-
-use MooseX::StrictConstructor::Role::Constructor;
-
-use Moose::Role;
-
-has 'constructor_class' =>
-    ( is         => 'ro',
-      isa        => 'ClassName',
-      lazy_build => 1,
-    );
-
-sub _build_constructor_class
-{
-    return
-        Moose::Meta::Class->create_anon_class
-            ( superclasses => [ 'Moose::Meta::Method::Constructor' ],
-              roles        => [ 'MooseX::StrictConstructor::Role::Constructor' ],
-              cache        => 1,
-            )->name();
-}
-
-# If Moose::Meta::Class had a constructor_class attribute, this
-# wrapper would not be necessary.
-around 'make_immutable' => sub
-{
-    my $orig = shift;
-    my $self = shift;
-
-    return
-        $self->$orig
-            ( constructor_class => $self->constructor_class(),
-              @_,
-            );
-};
-
-no Moose::Role;
-
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-MooseX::StrictConstructor::Meta::Class - A meta class for classes with strict constructors
-
-=head1 SYNOPSIS
-
-  use MooseX::StrictConstructor;
-
-=head1 DESCRIPTION
-
-This class simply overrides C<make_immutable()> in
-C<Moose::Meta::Class> to use
-C<MooseX::StrictConstructor::Meta::Method::Constructor> as the
-constructor class.
-
-You should never have to use this class directly.
-
-=head1 AUTHOR
-
-Dave Rolsky, C<< <autarch@urth.org> >>
-
-=head1 COPYRIGHT & LICENSE
-
-Copyright 2007 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