class CycloneDX::BOM

Overview

Represents a CycloneDX Bill of Materials (BOM). This class manages a collection of components and provides methods for serializing the BOM into different formats (JSON, XML, CSV).

Included Modules

Defined in:

cyclonedx/bom.cr

Constant Summary

BOM_FORMAT = "CycloneDX"
BOM_VERSION = 1
XML_NAMESPACE = "http://cyclonedx.org/schema/bom"

Constructors

Instance Method Summary

Constructor Detail

def self.new(components : Array(Component), spec_version : String, metadata : Metadata | Nil = nil, dependencies : Array(Dependency) | Nil = nil) #

Initializes a new CycloneDX BOM.


[View source]
def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def bom_format : String #

Specifies the format of the BOM (always "CycloneDX" for JSON serialization).


[View source]
def bom_version : Int32 #

The version of the BOM itself (not the spec version), typically 1.


[View source]
def components : Array(Component) #

An array of CycloneDX::Component objects included in the BOM.


[View source]
def dependencies : Array(Dependency) | Nil #

An array of CycloneDX::Dependency objects describing component relationships.


[View source]
def metadata : Metadata | Nil #

Metadata about the BOM.


[View source]
def serial_number : String #

The unique serial number of the BOM.


[View source]
def spec_version : String #

The CycloneDX specification version.


[View source]
def to_csv : String #

Serializes the BOM to CSV format.


[View source]
def to_xml : String #

Serializes the BOM to XML format.


[View source]