change dist name to Reaction
[catagits/Reaction.git] / lib / Reaction / Class.pm
index b2c0ad9..7813f48 100644 (file)
@@ -3,12 +3,13 @@ package Reaction::Class;
 use Moose qw(confess);
 use Sub::Exporter ();
 use Sub::Name ();
-use Reaction::Types::Core;
+use Reaction::Types::Core ':all';
 use Reaction::Object;
 
 sub exporter_for_package {
   my ($self, $package) = @_;
   my %exports_proto = $self->exports_for_package($package);
+  no warnings 'uninitialized'; # XXX fix this
   my %exports = (
     map { my $cr = $exports_proto{$_}; ($_, sub { Sub::Name::subname "${self}::$_" => $cr; }) }
     keys %exports_proto
@@ -129,7 +130,7 @@ sub do_class_sub {
   #print STDERR "$package \n";
   #print STDERR $package->meta->blessed, " \n";
   $package->meta->make_immutable;
-#      (inline_accessor    => 0, inline_destructor  => 0,inline_constructor => 0,);
+  #    (inline_accessor    => 0, inline_destructor  => 0,inline_constructor => 0,);
 }
 
 sub setup_and_cleanup {
@@ -167,7 +168,7 @@ sub setup_and_cleanup {
   eval "package ${package}; no $unimport_class;";
   confess "$unimport_class unimport from ${package} failed: $@" if $@;
   foreach my $m (@methods) {
-    $package->meta->add_method(@$m);
+    $self->add_method_to_target($package, $m);
   }
   foreach my $a (@apply_after) {
     my $call = shift(@$a);
@@ -175,6 +176,11 @@ sub setup_and_cleanup {
   }
 }
 
+sub add_method_to_target {
+  my ($self, $target, $method) = @_;
+  $target->meta->add_method(@$method);
+}
+
 sub delayed_methods {
   return (qw/has with extends before after around override augment/);
 }