File Coverage

blib/lib/Qless/BaseJob.pm
Criterion Covered Total %
statement 12 43 27.9
branch 0 4 0.0
condition n/a
subroutine 4 16 25.0
pod 0 12 0.0
total 16 75 21.3


line stmt bran cond sub pod time code
1             package Qless::BaseJob;
2 1     1   5 use strict; use warnings;
  1     1   2  
  1         27  
  1         4  
  1         2  
  1         24  
3 1     1   5 use Qless::Utils qw(fix_empty_array);
  1         1  
  1         46  
4 1     1   6 use Time::HiRes qw();
  1         1  
  1         598  
5              
6             sub new {
7 0     0 0   my $class = shift;
8              
9 0           my ($client, $args) = @_;
10              
11 0 0         $class = ref $class if ref $class;
12 0           my $self = bless {}, $class;
13              
14 0           $self->{'client'} = $client;
15              
16 0           $self->{'_loaded'} = {};
17 0           foreach my $key (qw(data jid priority)) {
18 0           $self->{$key} = $args->{ $key };
19             }
20              
21 0           $self->{'klass'} = $args->{'klass'};
22 0           $self->{'queue_name'} = $args->{'queue'};
23 0           $self->{'tags'} = fix_empty_array($args->{'tags'});
24              
25 0           $self;
26             }
27              
28              
29             sub priority {
30 0     0 0   my $self = shift;
31              
32 0 0         if ($#_ == 0) {
33 0           $self->{'client'}->_priority([], $self->{'jid'}, $_[0]);
34 0           $self->{'priority'} = $_[0];
35             }
36              
37 0           return $self->{'priority'};
38             }
39              
40             sub queue {
41 0     0 0   my ($self) = @_;
42 0           return $self->{'queue'} = $self->{'client'}->queues($self->{'queue_name'});
43             }
44              
45 0     0 0   sub client { $_[0]->{'client'} }
46 0     0 0   sub queue_name { $_[0]->{'queue_name'} }
47 0     0 0   sub klass { $_[0]->{'klass'} }
48 0     0 0   sub data { $_[0]->{'data'} }
49 0     0 0   sub jid { $_[0]->{'jid'} }
50 0     0 0   sub tags { $_[0]->{'tags'} }
51              
52             sub cancel {
53 0     0 0   my ($self) = @_;
54 0           $self->{'client'}->_cancel([], $self->{'jid'});
55             }
56              
57             sub tag {
58 0     0 0   my ($self, @tags) = @_;
59 0           $self->{'client'}->_tag([], 'add', $self->{'jid'}, Time::HiRes::time, @tags);
60             }
61              
62             sub untag {
63 0     0 0   my ($self, @tags) = @_;
64 0           $self->{'client'}->_tag([], 'remove', $self->{'jid'}, Time::HiRes::time, @tags);
65             }
66              
67             1;
68