File Coverage

blib/lib/Zabbix2/API/Template.pm
Criterion Covered Total %
statement 14 29 48.2
branch 0 4 0.0
condition 0 2 0.0
subroutine 5 10 50.0
pod 2 2 100.0
total 21 47 44.6


line stmt bran cond sub pod time code
1             package Zabbix2::API::Template;
2            
3 3     3   22 use strict;
  3         7  
  3         90  
4 3     3   16 use warnings;
  3         6  
  3         76  
5 3     3   47 use 5.010;
  3         11  
6 3     3   29 use Carp;
  3         7  
  3         231  
7            
8 3     3   21 use Moo;
  3         5  
  3         17  
9             extends qw/Zabbix2::API::CRUDE/;
10            
11             has 'items' => (is => 'ro',
12             lazy => 1,
13             builder => '_fetch_items');
14            
15             sub id {
16             ## mutator for id
17 0     0 1   my ($self, $value) = @_;
18 0 0         if (defined $value) {
19 0           $self->data->{templateid} = $value;
20 0           return $self->data->{templateid};
21             } else {
22 0           return $self->data->{templateid};
23             }
24             }
25            
26             sub _prefix {
27 0     0     my (undef, $suffix) = @_;
28 0 0         if ($suffix) {
29 0           return 'template'.$suffix;
30             } else {
31 0           return 'template';
32             }
33             }
34            
35             sub _extension {
36 0     0     return (output => 'extend');
37             }
38            
39             sub name {
40 0     0 1   my $self = shift;
41 0   0       return $self->data->{host} || '';
42             }
43            
44             sub _fetch_items {
45 0     0     my $self = shift;
46 0           my $items = $self->{root}->fetch('Item', params => { templateids => [ $self->data->{templateid} ] });
47 0           return $items;
48             }
49            
50             1;
51             __END__