Use dzil Authority plugin - remove $AUTHORITY from code
[gitmo/Moose.git] / lib / Moose / Meta / Role / Application / ToInstance.pm
index f7c2b14..81ce0c4 100644 (file)
@@ -6,11 +6,7 @@ use metaclass;
 
 use Scalar::Util 'blessed';
 
-our $VERSION   = '0.96';
-$VERSION = eval $VERSION;
-our $AUTHORITY = 'cpan:STEVAN';
-
-use base 'Moose::Meta::Role::Application::ToClass';
+use base 'Moose::Meta::Role::Application';
 
 __PACKAGE__->meta->add_attribute('rebless_params' => (
     reader  => 'rebless_params',
@@ -18,7 +14,7 @@ __PACKAGE__->meta->add_attribute('rebless_params' => (
 ));
 
 sub apply {
-    my ( $self, $role, $object ) = @_;
+    my ( $self, $role, $object, $args ) = @_;
 
     my $obj_meta = Class::MOP::class_of($object) || 'Moose::Meta::Class';
 
@@ -29,24 +25,22 @@ sub apply {
         unless $obj_meta->isa('Moose::Meta::Class');
 
     my $class = $obj_meta->create_anon_class(
-        superclasses => [ blessed($object) ], cache => 1,
+        superclasses => [ blessed($object) ],
+        roles => [ $role, keys(%$args) ? ($args) : () ],
+        cache => 1,
     );
 
-    $self->SUPER::apply( $role, $class );
-
     $class->rebless_instance( $object, %{ $self->rebless_params } );
 }
 
 1;
 
+# ABSTRACT: Compose a role into an instance
+
 __END__
 
 =pod
 
-=head1 NAME
-
-Moose::Meta::Role::Application::ToInstance - Compose a role into an instance
-
 =head1 DESCRIPTION
 
 =head2 METHODS
@@ -67,18 +61,5 @@ Moose::Meta::Role::Application::ToInstance - Compose a role into an instance
 
 See L<Moose/BUGS> for details on reporting bugs.
 
-=head1 AUTHOR
-
-Stevan Little E<lt>stevan@iinteractive.comE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2006-2010 by Infinity Interactive, Inc.
-
-L<http://www.iinteractive.com>
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
 =cut