File Coverage

blib/lib/Business/RO/TaxDeduction/Ranges.pm
Criterion Covered Total %
statement 11 11 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 15 15 100.0


line stmt bran cond sub pod time code
1             package Business::RO::TaxDeduction::Ranges;
2             $Business::RO::TaxDeduction::Ranges::VERSION = '0.012';
3             # ABSTRACT: Deduction ranges by year
4              
5 3     3   87950 use 5.010001;
  3         13  
6 3     3   441 use utf8;
  3         14  
  3         16  
7 3     3   457 use Moo;
  3         8510  
  3         20  
8 3         24 use Business::RO::TaxDeduction::Types qw(
9             Int
10 3     3   2347 );
  3         8  
11             with qw(Business::RO::TaxDeduction::Role::Utils);
12              
13             has 'vbl_min' => (
14             is => 'ro',
15             isa => Int,
16             lazy => 1,
17             default => sub {
18             my $self = shift;
19             return 1000 if $self->base_year == 2005;
20             return 1500 if $self->base_year == 2016;
21             return 1950 if $self->base_year == 2018;
22             die "Not a valid year: " . $self->base_year;
23             },
24             );
25              
26             has 'vbl_max' => (
27             is => 'ro',
28             isa => Int,
29             lazy => 1,
30             default => sub {
31             my $self = shift;
32             return 3000 if $self->base_year == 2005;
33             return 3000 if $self->base_year == 2016;
34             return 3600 if $self->base_year == 2018;
35             die "Not a valid year: " . $self->base_year;
36             },
37             );
38              
39             has 'f_min' => (
40             is => 'ro',
41             isa => Int,
42             lazy => 1,
43             default => sub {
44             my $self = shift;
45             return 1000 if $self->base_year == 2005;
46             return 1500 if $self->base_year == 2016;
47             return 1950 if $self->base_year == 2018;
48             die "Not a valid year: " . $self->base_year;
49             },
50             );
51              
52             has 'f_max' => (
53             is => 'ro',
54             isa => Int,
55             lazy => 1,
56             default => sub {
57             my $self = shift;
58             return 2000 if $self->base_year == 2005;
59             return 1500 if $self->base_year == 2016;
60             return 1700 if $self->base_year == 2018;
61             die "Not a valid year: " . $self->base_year;
62             },
63             );
64              
65             1;
66              
67             __END__