File Coverage

blib/lib/SBOM/CycloneDX/Vulnerability/Affect.pm
Criterion Covered Total %
statement 26 31 83.8
branch 0 2 0.0
condition n/a
subroutine 9 10 90.0
pod 1 1 100.0
total 36 44 81.8


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Vulnerability::Affect;
2              
3 1     1   1361 use 5.010001;
  1         4  
4 1     1   5 use strict;
  1         3  
  1         20  
5 1     1   3 use warnings;
  1         3  
  1         46  
6 1     1   29 use utf8;
  1         2  
  1         10  
7              
8 1     1   55 use SBOM::CycloneDX::List;
  1         2  
  1         35  
9              
10 1     1   4 use Types::Standard qw(Str InstanceOf);
  1         2  
  1         47  
11 1     1   3009 use Types::TypeTiny qw(ArrayLike);
  1         3  
  1         7  
12              
13 1     1   475 use Moo;
  1         2  
  1         8  
14 1     1   409 use namespace::autoclean;
  1         2  
  1         11  
15              
16             extends 'SBOM::CycloneDX::Base';
17              
18             has ref => (is => 'rw', isa => Str, required => 1);
19              
20             has versions => (
21             is => 'rw',
22             isa => ArrayLike [InstanceOf ['SBOM::CycloneDX::Version']],
23             default => sub { SBOM::CycloneDX::List->new }
24             );
25              
26             sub TO_JSON {
27              
28 0     0 1   my $self = shift;
29              
30 0           my $json = {ref => $self->ref};
31              
32 0 0         $json->{versions} = $self->versions if @{$self->versions};
  0            
33              
34 0           return $json;
35              
36             }
37              
38             1;
39              
40             =encoding utf-8
41              
42             =head1 NAME
43              
44             SBOM::CycloneDX::Vulnerability::Affect - Vulnerability Affect object
45              
46             =head1 SYNOPSIS
47              
48             SBOM::CycloneDX::Vulnerability::Affect->new();
49              
50              
51             =head1 DESCRIPTION
52              
53             L provides the vulnerability affect object.
54              
55             =head2 METHODS
56              
57             L inherits all methods from L
58             and implements the following new ones.
59              
60             =over
61              
62             =item SBOM::CycloneDX::Vulnerability::Affect->new( %PARAMS )
63              
64             Properties:
65              
66             =over
67              
68             =item * C, References a component or service by the objects bom-ref
69              
70             =item * C, Zero or more individual versions or range of versions.
71              
72             =back
73              
74             =item $affect->ref
75              
76             =item $affect->versions
77              
78             =back
79              
80             =head1 SUPPORT
81              
82             =head2 Bugs / Feature Requests
83              
84             Please report any bugs or feature requests through the issue tracker
85             at L.
86             You will be notified automatically of any progress on your issue.
87              
88             =head2 Source Code
89              
90             This is open source software. The code repository is available for
91             public review and contribution under the terms of the license.
92              
93             L
94              
95             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
96              
97              
98             =head1 AUTHOR
99              
100             =over 4
101              
102             =item * Giuseppe Di Terlizzi
103              
104             =back
105              
106              
107             =head1 LICENSE AND COPYRIGHT
108              
109             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
110              
111             This is free software; you can redistribute it and/or modify it under
112             the same terms as the Perl 5 programming language system itself.
113              
114             =cut
115