File Coverage

blib/lib/IO/K8s/Role/HelmManaged.pm
Criterion Covered Total %
statement 27 27 100.0
branch n/a
condition 6 10 60.0
subroutine 5 5 100.0
pod 0 4 0.0
total 38 46 82.6


line stmt bran cond sub pod time code
1             package IO::K8s::Role::HelmManaged;
2             # ABSTRACT: Role for K3s Helm chart management
3             our $VERSION = '1.009';
4 3     3   1831 use Moo::Role;
  3         6  
  3         22  
5              
6             sub from_repo {
7 2     2 0 369563 my ($self, $repo_url, $chart_name) = @_;
8 2   50     43 my $spec = $self->spec // {};
9 2         25 $spec->{repo} = $repo_url;
10 2         7 $spec->{chart} = $chart_name;
11 2         38 $self->spec($spec);
12 2         110 return $self;
13             }
14              
15             sub set_version {
16 2     2 0 7 my ($self, $version) = @_;
17 2   50     38 my $spec = $self->spec // {};
18 2         17 $spec->{version} = $version;
19 2         34 $self->spec($spec);
20 2         44 return $self;
21             }
22              
23             sub set_values {
24 2     2 0 6356 my ($self, %values) = @_;
25 2   100     70 my $spec = $self->spec // {};
26 2   50     33 my $existing = $spec->{set} // {};
27 2         9 @{$existing}{keys %values} = values %values;
  2         7  
28 2         7 $spec->{set} = $existing;
29 2         50 $self->spec($spec);
30 2         60 return $self;
31             }
32              
33             sub set_values_yaml {
34 2     2 0 14380 my ($self, $yaml_str) = @_;
35 2   50     54 my $spec = $self->spec // {};
36 2         29 $spec->{valuesContent} = $yaml_str;
37 2         47 $self->spec($spec);
38 2         71 return $self;
39             }
40              
41             1;
42              
43             __END__