File Coverage

blib/lib/SBOM/CycloneDX/Declarations/Assessor.pm
Criterion Covered Total %
statement 23 29 79.3
branch 0 6 0.0
condition n/a
subroutine 8 9 88.8
pod 1 1 100.0
total 32 45 71.1


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Declarations::Assessor;
2              
3 1     1   2172 use 5.010001;
  1         5  
4 1     1   9 use strict;
  1         2  
  1         55  
5 1     1   6 use warnings;
  1         5  
  1         95  
6 1     1   9 use utf8;
  1         3  
  1         14  
7              
8 1     1   40 use SBOM::CycloneDX::BomRef;
  1         3  
  1         55  
9              
10 1     1   8 use Types::Standard qw(Str Bool InstanceOf);
  1         2  
  1         14  
11              
12 1     1   4303 use Moo;
  1         3  
  1         13  
13 1     1   684 use namespace::autoclean;
  1         3  
  1         19  
14              
15             extends 'SBOM::CycloneDX::Base';
16              
17             has bom_ref => (
18             is => 'rw',
19             isa => InstanceOf ['SBOM::CycloneDX::BomRef'],
20             coerce => sub { ref($_[0]) ? $_[0] : SBOM::CycloneDX::BomRef->new($_[0]) }
21             );
22              
23             has third_party => (is => 'rw', isa => Bool);
24             has organization => (is => 'rw', isa => InstanceOf ['SBOM::CycloneDX::OrganizationalEntity']);
25              
26             sub TO_JSON {
27              
28 0     0 1   my $self = shift;
29              
30 0           my $json = {};
31              
32 0 0         $json->{'bom-ref'} = $self->bom_ref if $self->bom_ref;
33 0 0         $json->{thirdParty} = $self->third_party if $self->third_party;
34 0 0         $json->{organization} = $self->organization if $self->organization;
35              
36 0           return $json;
37              
38             }
39              
40             1;
41              
42             =encoding utf-8
43              
44             =head1 NAME
45              
46             SBOM::CycloneDX::Declarations::Assessor - Assessor
47              
48             =head1 SYNOPSIS
49              
50             SBOM::CycloneDX::Declarations::Assessor->new();
51              
52              
53             =head1 DESCRIPTION
54              
55             L provides the assessor who evaluates
56             claims and determines conformance to requirements and confidence in that
57             assessment.
58              
59             =head2 METHODS
60              
61             L inherits all methods from L
62             and implements the following new ones.
63              
64             =over
65              
66             =item SBOM::CycloneDX::Declarations::Assessor->new( %PARAMS )
67              
68             Properties:
69              
70             =over
71              
72             =item * C, An identifier which can be used to reference the object
73             elsewhere in the BOM. Every C must be unique within the BOM.
74              
75             =item * C, The entity issuing the assessment.
76              
77             =item * C, The boolean indicating if the assessor is outside the
78             organization generating claims. A value of false indicates a self assessor.
79              
80             =back
81              
82             =item $assessor->bom_ref
83              
84             =item $assessor->organization
85              
86             =item $assessor->third_party
87              
88             =back
89              
90              
91             =head1 SUPPORT
92              
93             =head2 Bugs / Feature Requests
94              
95             Please report any bugs or feature requests through the issue tracker
96             at L.
97             You will be notified automatically of any progress on your issue.
98              
99             =head2 Source Code
100              
101             This is open source software. The code repository is available for
102             public review and contribution under the terms of the license.
103              
104             L
105              
106             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
107              
108              
109             =head1 AUTHOR
110              
111             =over 4
112              
113             =item * Giuseppe Di Terlizzi
114              
115             =back
116              
117              
118             =head1 LICENSE AND COPYRIGHT
119              
120             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
121              
122             This is free software; you can redistribute it and/or modify it under
123             the same terms as the Perl 5 programming language system itself.
124              
125             =cut