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

Constructors

Instance Method Summary

Constructor Detail

def self.new(components : Array(Component), spec_version : String) #

Initializes a new CycloneDX BOM.

@param components [Array(Component)] An array of components to include in the BOM. @param spec_version [String] The CycloneDX specification version (e.g., "1.4", "1.5").


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

[View source]

Instance Method Detail

def bom_format_json : String #

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


[View source]
def bom_format_json=(bom_format_json : String) #

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


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

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


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

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


[View source]
def spec_version_json : String #

The CycloneDX specification version used for JSON serialization.


[View source]
def spec_version_json=(spec_version_json : String) #

The CycloneDX specification version used for JSON serialization.


[View source]
def to_csv #

Serializes the BOM to CSV format. The CSV output includes Name, Version, PURL, and Type for each component.

@return [String] The BOM in CSV format.


[View source]
def to_xml #

Serializes the BOM to XML format. The XML output includes a unique serial number (UUID).

@return [String] The BOM in XML format.


[View source]
def version_json : Int32 #

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


[View source]
def version_json=(version_json : Int32) #

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


[View source]