Module: Sbom

Defined in:
lib/sbom.rb,
lib/sbom/error.rb,
lib/sbom/merger.rb,
lib/sbom/output.rb,
lib/sbom/parser.rb,
lib/sbom/version.rb,
lib/sbom/enricher.rb,
lib/sbom/data/file.rb,
lib/sbom/data/sbom.rb,
lib/sbom/generator.rb,
lib/sbom/validator.rb,
lib/sbom/spdx/parser.rb,
lib/sbom/data/package.rb,
lib/sbom/data/document.rb,
lib/sbom/spdx/generator.rb,
lib/sbom/license/scanner.rb,
lib/sbom/cyclonedx/parser.rb,
lib/sbom/data/relationship.rb,
lib/sbom/validation_result.rb,
lib/sbom/cyclonedx/generator.rb

Defined Under Namespace

Modules: Cyclonedx, Data, License, Spdx Classes: Enricher, Error, Generator, GeneratorError, Merger, Output, Parser, ParserError, UnsupportedFormatError, ValidationResult, Validator, ValidatorError

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Class Method Details

.enrich(sbom) ⇒ Object



56
57
58
# File 'lib/sbom.rb', line 56

def enrich(sbom)
  Enricher.enrich(sbom)
end

.enrich_file(filename, sbom_type: :auto) ⇒ Object



60
61
62
63
# File 'lib/sbom.rb', line 60

def enrich_file(filename, sbom_type: :auto)
  sbom = parse_file(filename, sbom_type: sbom_type)
  Enricher.enrich(sbom)
end

.generate(project_name, sbom_data, sbom_type: :spdx, format: :json) ⇒ Object



48
49
50
# File 'lib/sbom.rb', line 48

def generate(project_name, sbom_data, sbom_type: :spdx, format: :json)
  Generator.generate(project_name, sbom_data, sbom_type: sbom_type, format: format)
end

.merge(sboms, dedupe: :purl) ⇒ Object



65
66
67
# File 'lib/sbom.rb', line 65

def merge(sboms, dedupe: :purl)
  Merger.merge(sboms, dedupe: dedupe)
end

.merge_files(filenames, dedupe: :purl) ⇒ Object



69
70
71
# File 'lib/sbom.rb', line 69

def merge_files(filenames, dedupe: :purl)
  Merger.merge_files(filenames, dedupe: dedupe)
end

.parse_file(filename, sbom_type: :auto) ⇒ Object



40
41
42
# File 'lib/sbom.rb', line 40

def parse_file(filename, sbom_type: :auto)
  Parser.parse_file(filename, sbom_type: sbom_type)
end

.parse_string(content, sbom_type: :auto) ⇒ Object



44
45
46
# File 'lib/sbom.rb', line 44

def parse_string(content, sbom_type: :auto)
  Parser.parse_string(content, sbom_type: sbom_type)
end

.validate_file(filename, sbom_type: :auto) ⇒ Object



52
53
54
# File 'lib/sbom.rb', line 52

def validate_file(filename, sbom_type: :auto)
  Validator.validate_file(filename, sbom_type: sbom_type)
end