Checking in changes prior to tagging of version 0.96. Changelog diff is:
[gitmo/Class-MOP.git] / lib / Class / MOP / Method / Wrapped.pm
index 4e72a59..0b48bda 100644 (file)
@@ -7,7 +7,7 @@ use warnings;
 use Carp         'confess';
 use Scalar::Util 'blessed';
 
-our $VERSION   = '0.89';
+our $VERSION   = '0.96';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -28,7 +28,7 @@ my $_build_wrapped_method = sub {
     );
     if (@$before && @$after) {
         $modifier_table->{cache} = sub {
-            $_->(@_) for @{$before};
+            for my $c (@$before) { $c->(@_) };
             my @rval;
             ((defined wantarray) ?
                 ((wantarray) ?
@@ -37,14 +37,14 @@ my $_build_wrapped_method = sub {
                     ($rval[0] = $around->{cache}->(@_)))
                 :
                 $around->{cache}->(@_));
-            $_->(@_) for @{$after};
+            for my $c (@$after) { $c->(@_) };
             return unless defined wantarray;
             return wantarray ? @rval : $rval[0];
         }
     }
     elsif (@$before && !@$after) {
         $modifier_table->{cache} = sub {
-            $_->(@_) for @{$before};
+            for my $c (@$before) { $c->(@_) };
             return $around->{cache}->(@_);
         }
     }
@@ -58,7 +58,7 @@ my $_build_wrapped_method = sub {
                     ($rval[0] = $around->{cache}->(@_)))
                 :
                 $around->{cache}->(@_));
-            $_->(@_) for @{$after};
+            for my $c (@$after) { $c->(@_) };
             return unless defined wantarray;
             return wantarray ? @rval : $rval[0];
         }
@@ -70,10 +70,10 @@ my $_build_wrapped_method = sub {
 
 sub wrap {
     my ( $class, $code, %params ) = @_;
-    
+
     (blessed($code) && $code->isa('Class::MOP::Method'))
         || confess "Can only wrap blessed CODE";
-        
+
     my $modifier_table = {
         cache  => undef,
         orig   => $code,
@@ -87,7 +87,7 @@ sub wrap {
     $_build_wrapped_method->($modifier_table);
     return $class->SUPER::wrap(
         sub { $modifier_table->{cache}->(@_) },
-        # get these from the original 
+        # get these from the original
         # unless explicitly overriden
         package_name   => $params{package_name} || $code->package_name,
         name           => $params{name}         || $code->name,