File Coverage

blib/lib/SBOM/CycloneDX/Note.pm
Criterion Covered Total %
statement 20 24 83.3
branch 0 2 0.0
condition n/a
subroutine 7 8 87.5
pod 1 1 100.0
total 28 35 80.0


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