Module: SBOM::CycloneDX

Defined in:
lib/sbom/cyclone_dx.rb,
lib/sbom/cyclone_dx/enum.rb,
lib/sbom/cyclone_dx/field.rb,
lib/sbom/cyclone_dx/record.rb,
lib/sbom/cyclone_dx/pattern.rb,
lib/sbom/cyclone_dx/version.rb,
lib/sbom/cyclone_dx/validator.rb,
lib/sbom/cyclone_dx/record/base.rb,
lib/sbom/cyclone_dx/record/diff.rb,
lib/sbom/cyclone_dx/record/note.rb,
lib/sbom/cyclone_dx/record/risk.rb,
lib/sbom/cyclone_dx/record/root.rb,
lib/sbom/cyclone_dx/record/step.rb,
lib/sbom/cyclone_dx/record/swid.rb,
lib/sbom/cyclone_dx/record/task.rb,
lib/sbom/cyclone_dx/record/event.rb,
lib/sbom/cyclone_dx/record/input.rb,
lib/sbom/cyclone_dx/record/issue.rb,
lib/sbom/cyclone_dx/record/patch.rb,
lib/sbom/cyclone_dx/record/tools.rb,
lib/sbom/cyclone_dx/record/commit.rb,
lib/sbom/cyclone_dx/record/output.rb,
lib/sbom/cyclone_dx/record/rating.rb,
lib/sbom/cyclone_dx/record/volume.rb,
lib/sbom/cyclone_dx/record/command.rb,
lib/sbom/cyclone_dx/record/formula.rb,
lib/sbom/cyclone_dx/record/graphic.rb,
lib/sbom/cyclone_dx/record/license.rb,
lib/sbom/cyclone_dx/record/service.rb,
lib/sbom/cyclone_dx/record/trigger.rb,
lib/sbom/cyclone_dx/record/version.rb,
lib/sbom/cyclone_dx/record/advisory.rb,
lib/sbom/cyclone_dx/record/metadata.rb,
lib/sbom/cyclone_dx/record/property.rb,
lib/sbom/cyclone_dx/record/standard.rb,
lib/sbom/cyclone_dx/record/workflow.rb,
lib/sbom/cyclone_dx/record/component.rb,
lib/sbom/cyclone_dx/record/condition.rb,
lib/sbom/cyclone_dx/record/copyright.rb,
lib/sbom/cyclone_dx/record/hash_data.rb,
lib/sbom/cyclone_dx/record/parameter.rb,
lib/sbom/cyclone_dx/record/signature.rb,
lib/sbom/cyclone_dx/record/workspace.rb,
lib/sbom/cyclone_dx/record/annotation.rb,
lib/sbom/cyclone_dx/record/attachment.rb,
lib/sbom/cyclone_dx/record/dependency.rb,
lib/sbom/cyclone_dx/record/model_card.rb,
lib/sbom/cyclone_dx/record/secured_by.rb,
lib/sbom/cyclone_dx/record/co2_measure.rb,
lib/sbom/cyclone_dx/record/composition.rb,
lib/sbom/cyclone_dx/record/definitions.rb,
lib/sbom/cyclone_dx/record/cipher_suite.rb,
lib/sbom/cyclone_dx/record/declarations.rb,
lib/sbom/cyclone_dx/record/service_data.rb,
lib/sbom/cyclone_dx/record/release_notes.rb,
lib/sbom/cyclone_dx/record/vulnerability.rb,
lib/sbom/cyclone_dx/record/component_data.rb,
lib/sbom/cyclone_dx/record/energy_measure.rb,
lib/sbom/cyclone_dx/record/license_choice.rb,
lib/sbom/cyclone_dx/record/postal_address.rb,
lib/sbom/cyclone_dx/record/data_governance.rb,
lib/sbom/cyclone_dx/record/energy_provider.rb,
lib/sbom/cyclone_dx/validator/uri_validator.rb,
lib/sbom/cyclone_dx/record/crypto_properties.rb,
lib/sbom/cyclone_dx/validator/base_validator.rb,
lib/sbom/cyclone_dx/record/component_evidence.rb,
lib/sbom/cyclone_dx/record/energy_consumption.rb,
lib/sbom/cyclone_dx/record/external_reference.rb,
lib/sbom/cyclone_dx/record/performance_metric.rb,
lib/sbom/cyclone_dx/validator/array_validator.rb,
lib/sbom/cyclone_dx/validator/float_validator.rb,
lib/sbom/cyclone_dx/validator/union_validator.rb,
lib/sbom/cyclone_dx/record/fairness_assessment.rb,
lib/sbom/cyclone_dx/record/graphics_collection.rb,
lib/sbom/cyclone_dx/record/identifiable_action.rb,
lib/sbom/cyclone_dx/validator/record_validator.rb,
lib/sbom/cyclone_dx/validator/string_validator.rb,
lib/sbom/cyclone_dx/record/vulnerability_source.rb,
lib/sbom/cyclone_dx/validator/boolean_validator.rb,
lib/sbom/cyclone_dx/validator/integer_validator.rb,
lib/sbom/cyclone_dx/record/organizational_entity.rb,
lib/sbom/cyclone_dx/record/organizational_contact.rb,
lib/sbom/cyclone_dx/validator/date_time_validator.rb,
lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb,
lib/sbom/cyclone_dx/record/resource_reference_choice.rb,
lib/sbom/cyclone_dx/validator/email_address_validator.rb,
lib/sbom/cyclone_dx/record/component_identity_evidence.rb,
lib/sbom/cyclone_dx/record/environmental_consideration.rb,
lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb

Defined Under Namespace

Modules: Enum, Field, Pattern, Record, Validator Classes: Error

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.create(hash) ⇒ Object



21
22
23
# File 'lib/sbom/cyclone_dx.rb', line 21

def create(hash)
  Record::Root.new(**hash)
end

.json_create(hash) ⇒ Object



34
35
36
# File 'lib/sbom/cyclone_dx.rb', line 34

def json_create(hash)
  Record::Root.json_create(hash)
end

.load(file) ⇒ Object



25
26
27
# File 'lib/sbom/cyclone_dx.rb', line 25

def load(file)
  parse(file.read)
end

.parse(string) ⇒ Object



29
30
31
32
# File 'lib/sbom/cyclone_dx.rb', line 29

def parse(string)
  json_hash = JSON.parse(string, symbolize_names: true)
  Record::Root.json_create(json_hash)
end