File Coverage

blib/lib/WebService/GrowthBook/Feature.pm
Criterion Covered Total %
statement 29 32 90.6
branch 3 4 75.0
condition n/a
subroutine 8 9 88.8
pod 0 4 0.0
total 40 49 81.6


line stmt bran cond sub pod time code
1             package WebService::GrowthBook::Feature;
2 5     5   611639 use strict;
  5         12  
  5         308  
3 5     5   33 use warnings;
  5         12  
  5         320  
4 5     5   953 no indirect;
  5         2682  
  5         29  
5 5     5   1667 use Object::Pad;
  5         20438  
  5         28  
6 5     5   3787 use WebService::GrowthBook::FeatureRule;
  5         22  
  5         1104  
7              
8             our $VERSION = '0.003'; ## VERSION
9              
10             class WebService::GrowthBook::Feature{
11 0     0 0 0 field $id :param :reader;
  0         0  
12 19     19 0 41 field $default_value :param :reader;
  19         48  
13             field $rules :param :reader //= undef;
14              
15 41     41 0 421 sub BUILDARGS{
  41         152  
16 40     40 0 746 my ($class, %args) = @_;
17 40 100       114 if($args{rules}){
18 29         64 my $rules = $args{rules};
19 29         40 my @rules_objects;
20 29         67 for my $rule (@$rules){
21 41         232 push @rules_objects, WebService::GrowthBook::FeatureRule->new(%$rule);
22             }
23 29         62 $args{rules} = \@rules_objects;
24             }
25             else{
26 11         26 $args{rules} = [];
27             }
28 40 50       91 if(exists $args{defaultValue}){
29 0         0 $args{default_value} = delete $args{defaultValue};
30             }
31 40         327 return %args;
32             }
33             }
34              
35             1;