diff options
author | dakkar <dakkar@thenautilus.net> | 2010-07-11 21:01:28 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-07-11 21:01:28 +0100 |
commit | c2d0c48a19f33c5145350c52d115c4b8b17a8a54 (patch) | |
tree | 71cee3f517e00080daff115921c247f65929bf0c /lib/Thread/Task/Role/Task.pm | |
parent | start (diff) | |
download | Thread-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.pm | 10 |
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) { |