use strict;
use warnings;
-our $VERSION = '0.71_01';
+our $VERSION = '0.83';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
my $for = $options{for_class};
- my %old_classes
- = map { $_ => $for->meta->$_ } grep { $for->meta->can($_) } @Classes;
+ my %old_classes = map { $_ => Class::MOP::class_of($for)->$_ }
+ grep { Class::MOP::class_of($for)->can($_) }
+ @Classes;
my $meta = _make_new_metaclass( $for, \%options );
my $for = shift;
my $options = shift;
- return $for->meta()
+ return Class::MOP::class_of($for)
unless grep { exists $options->{ $_ . '_roles' } }
qw(
metaclass
instance_metaclass
);
+ my $old_meta = Class::MOP::class_of($for);
my $new_metaclass
- = _make_new_class( ref $for->meta(), $options->{metaclass_roles} );
-
- my $old_meta = $for->meta();
+ = _make_new_class( ref $old_meta, $options->{metaclass_roles} );
# This could get called for a Moose::Meta::Role as well as a Moose::Meta::Class
my %classes = map {
my $for = $options{for_class};
- my $meta = $for->meta();
+ my $meta = Class::MOP::class_of($for);
my $new_base = _make_new_class(
$for,
package MyApp::Moose;
- use strict;
- use warnings;
-
use Moose ();
use Moose::Exporter;
- use Moose::Util::Meta::Role;
+ use Moose::Util::MetaRole;
use MyApp::Role::Meta::Class;
use MyApp::Role::Meta::Method::Constructor;
=head1 DESCRIPTION
-B<The whole concept behind this module is still considered
-experimental, and it could go away in the future!>
-
This utility module is designed to help authors of Moose extensions
write extensions that are able to cooperate with other Moose
extensions. To do this, you must write your extensions as roles, which