File Coverage

blib/lib/SBOM/CycloneDX/Vulnerability/Source.pm
Criterion Covered Total %
statement 20 25 80.0
branch 0 4 0.0
condition n/a
subroutine 7 8 87.5
pod 1 1 100.0
total 28 38 73.6


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Vulnerability::Source;
2              
3 1     1   3373 use 5.010001;
  1         4  
4 1     1   7 use strict;
  1         3  
  1         24  
5 1     1   6 use warnings;
  1         3  
  1         47  
6 1     1   5 use utf8;
  1         2  
  1         8  
7              
8 1     1   46 use Types::Standard qw(Str);
  1         4  
  1         9  
9              
10 1     1   2015 use Moo;
  1         2  
  1         7  
11 1     1   408 use namespace::autoclean;
  1         2  
  1         9  
12              
13             extends 'SBOM::CycloneDX::Base';
14              
15             has name => (is => 'rw', isa => Str);
16             has url => (is => 'rw', isa => Str);
17              
18             sub TO_JSON {
19              
20 0     0 1   my $self = shift;
21              
22 0           my $json = {};
23              
24 0 0         $json->{name} = $self->name if $self->name;
25 0 0         $json->{url} = $self->url if $self->url;
26              
27 0           return $json;
28              
29             }
30              
31             1;
32              
33             =encoding utf-8
34              
35             =head1 NAME
36              
37             SBOM::CycloneDX::Vulnerability::Source - The source of vulnerability information
38              
39             =head1 SYNOPSIS
40              
41             $vulnerability = SBOM::CycloneDX::Vulnerability->new(
42             id => 'SNYK-JAVA-COMFASTERXMLJACKSONCORE-32111',
43             source => SBOM::CycloneDX::Vulnerability::Source->new(
44             name => 'Snyk',
45             url => 'https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-32111'
46             )
47             );
48              
49              
50             =head1 DESCRIPTION
51              
52             L provides the source of vulnerability
53             information. This is often the organization that published the vulnerability.
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::Source->new( %PARAMS )
63              
64             Properties:
65              
66             =over
67              
68             =item * C, The name of the source.
69              
70             =item * C, The url of the vulnerability documentation as provided by the source.
71              
72             =back
73              
74             =item $source->name
75              
76             =item $source->value
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