summaryrefslogtreecommitdiff
path: root/lib/Thread/Task/Role/Task.pm
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2010-07-11 21:01:28 +0100
committerdakkar <dakkar@thenautilus.net>2010-07-11 21:01:28 +0100
commitc2d0c48a19f33c5145350c52d115c4b8b17a8a54 (patch)
tree71cee3f517e00080daff115921c247f65929bf0c /lib/Thread/Task/Role/Task.pm
parentstart (diff)
downloadThread-Task-c2d0c48a19f33c5145350c52d115c4b8b17a8a54.tar.gz
Thread-Task-c2d0c48a19f33c5145350c52d115c4b8b17a8a54.tar.bz2
Thread-Task-c2d0c48a19f33c5145350c52d115c4b8b17a8a54.zip
now it compiles
Diffstat (limited to 'lib/Thread/Task/Role/Task.pm')
-rw-r--r--lib/Thread/Task/Role/Task.pm10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Thread/Task/Role/Task.pm b/lib/Thread/Task/Role/Task.pm
index 61f9cbe..f7b3ccc 100644
--- a/lib/Thread/Task/Role/Task.pm
+++ b/lib/Thread/Task/Role/Task.pm
@@ -3,10 +3,11 @@ use MooseX::Declare;
role Thread::Task::Role::Task {
use MooseX::Types::Moose qw(Int);
+ use Thread::Task::Types qw(Task_T);
require Scalar::Util;
my $SEQUENCE = 0;
- my %INDEX = 0;
+ my %INDEX = ();
has task_revision => (
isa => Int,
@@ -36,11 +37,14 @@ role Thread::Task::Role::Task {
return $INDEX{$task_rev};
}
- method task_request(:$task, %params) {
+ method task_request(%params) {
+ my $task = delete $params{task}
+ or die 'No task class passed';
+
Class::MOP::load_class($task);
$task->isa('Thread::Task')
or die "Bad class $task, not a Thread::Task";
- $class->new(owner=>$self,%params)->schedule;
+ $task->new(owner=>$self,%params)->schedule;
}
method task_response(Task_T $task) {