maybe::start
Matt S Trout [Tue, 17 Jul 2012 23:25:39 +0000 (23:25 +0000)]
lib/Object/Remote/Future.pm
t/start_core.t

index 04bc251..3392f68 100644 (file)
@@ -48,6 +48,15 @@ sub AUTOLOAD {
   return $res;
 }
 
+package maybe::start;
+
+sub AUTOLOAD {
+  my $invocant = shift;
+  my ($method) = our $AUTOLOAD =~ /^maybe::start::(.+)$/;
+  $method = "start::${method}" if ((caller(1)||'') eq 'start');
+  $invocant->$method(@_);
+}
+
 package then;
 
 sub AUTOLOAD {
index 4c63f4b..3b5aeae 100644 (file)
@@ -22,6 +22,10 @@ use File::Spec;
   our $C;
 
   sub get_s2 {
+    shift->maybe::start::_real_get_s2;
+  }
+
+  sub _real_get_s2 {
     future {
       my $f = shift;
       $C = sub { $f->done(S2F->new); undef($f); undef($C); };