From c2d0c48a19f33c5145350c52d115c4b8b17a8a54 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 11 Jul 2010 21:01:28 +0100 Subject: now it compiles --- lib/Thread/Task/Role/Task.pm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/Thread/Task/Role/Task.pm') 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) { -- cgit v1.2.3