File Coverage

blib/lib/Whelk/Schema/Definition/Integer.pm
Criterion Covered Total %
statement 13 13 100.0
branch 4 4 100.0
condition n/a
subroutine 4 4 100.0
pod 1 1 100.0
total 22 22 100.0


line stmt bran cond sub pod time code
1             package Whelk::Schema::Definition::Integer;
2             $Whelk::Schema::Definition::Integer::VERSION = '1.04';
3 18     18   12626 use Whelk::StrictBase 'Whelk::Schema::Definition::Number';
  18         70  
  18         159  
4              
5             sub openapi_dump
6             {
7 12     12 1 56 my ($self, $openapi_obj, %hints) = @_;
8              
9 12         57 my $res = $self->SUPER::openapi_dump($openapi_obj, %hints);
10 12         29 $res->{type} = 'integer';
11              
12 12         62 return $res;
13             }
14              
15             sub _inhale
16             {
17 55     55   141 my ($self, $value) = @_;
18              
19 55         325 my $inhaled = $self->SUPER::_inhale($value);
20 55 100       167 return $inhaled if defined $inhaled;
21 47 100       241 return 'integer' unless $value == int($value);
22 38         111 return $self->_inhale_extra_rules($value);
23             }
24              
25             sub _exhale
26             {
27 29     29   215 return int(pop());
28             }
29              
30             1;
31