sbom-cyclonedx 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +15 -0
- data/.gitlab-ci.yml +49 -0
- data/.rspec +3 -0
- data/.rubocop.yml +72 -0
- data/.vscode/settings.json +6 -0
- data/CHANGELOG.md +9 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/Gemfile +26 -0
- data/Gemfile.lock +179 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +36 -0
- data/Steepfile +14 -0
- data/bin/console +11 -0
- data/bin/rbs_spec +9 -0
- data/bin/setup +8 -0
- data/bom-1.6.schema.json +7334 -0
- data/lib/email_address_extension.rb +26 -0
- data/lib/sbom/cyclone_dx/enum.rb +2178 -0
- data/lib/sbom/cyclone_dx/field.rb +404 -0
- data/lib/sbom/cyclone_dx/pattern.rb +43 -0
- data/lib/sbom/cyclone_dx/record/advisory.rb +17 -0
- data/lib/sbom/cyclone_dx/record/annotation.rb +46 -0
- data/lib/sbom/cyclone_dx/record/attachment.rb +21 -0
- data/lib/sbom/cyclone_dx/record/base.rb +244 -0
- data/lib/sbom/cyclone_dx/record/cipher_suite.rb +23 -0
- data/lib/sbom/cyclone_dx/record/co2_measure.rb +18 -0
- data/lib/sbom/cyclone_dx/record/command.rb +18 -0
- data/lib/sbom/cyclone_dx/record/commit.rb +25 -0
- data/lib/sbom/cyclone_dx/record/component.rb +126 -0
- data/lib/sbom/cyclone_dx/record/component_data.rb +46 -0
- data/lib/sbom/cyclone_dx/record/component_evidence.rb +68 -0
- data/lib/sbom/cyclone_dx/record/component_identity_evidence.rb +36 -0
- data/lib/sbom/cyclone_dx/record/composition.rb +33 -0
- data/lib/sbom/cyclone_dx/record/condition.rb +20 -0
- data/lib/sbom/cyclone_dx/record/copyright.rb +16 -0
- data/lib/sbom/cyclone_dx/record/crypto_properties.rb +137 -0
- data/lib/sbom/cyclone_dx/record/data_governance.rb +21 -0
- data/lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb +22 -0
- data/lib/sbom/cyclone_dx/record/declarations.rb +193 -0
- data/lib/sbom/cyclone_dx/record/definitions.rb +17 -0
- data/lib/sbom/cyclone_dx/record/dependency.rb +21 -0
- data/lib/sbom/cyclone_dx/record/diff.rb +18 -0
- data/lib/sbom/cyclone_dx/record/energy_consumption.rb +31 -0
- data/lib/sbom/cyclone_dx/record/energy_measure.rb +18 -0
- data/lib/sbom/cyclone_dx/record/energy_provider.rb +31 -0
- data/lib/sbom/cyclone_dx/record/environmental_consideration.rb +20 -0
- data/lib/sbom/cyclone_dx/record/event.rb +31 -0
- data/lib/sbom/cyclone_dx/record/external_reference.rb +25 -0
- data/lib/sbom/cyclone_dx/record/fairness_assessment.rb +22 -0
- data/lib/sbom/cyclone_dx/record/formula.rb +29 -0
- data/lib/sbom/cyclone_dx/record/graphic.rb +19 -0
- data/lib/sbom/cyclone_dx/record/graphics_collection.rb +19 -0
- data/lib/sbom/cyclone_dx/record/hash_data.rb +18 -0
- data/lib/sbom/cyclone_dx/record/identifiable_action.rb +21 -0
- data/lib/sbom/cyclone_dx/record/input.rb +34 -0
- data/lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb +17 -0
- data/lib/sbom/cyclone_dx/record/issue.rb +36 -0
- data/lib/sbom/cyclone_dx/record/license.rb +90 -0
- data/lib/sbom/cyclone_dx/record/license_choice.rb +35 -0
- data/lib/sbom/cyclone_dx/record/metadata.rb +55 -0
- data/lib/sbom/cyclone_dx/record/model_card.rb +89 -0
- data/lib/sbom/cyclone_dx/record/note.rb +20 -0
- data/lib/sbom/cyclone_dx/record/organizational_contact.rb +26 -0
- data/lib/sbom/cyclone_dx/record/organizational_entity.rb +28 -0
- data/lib/sbom/cyclone_dx/record/output.rb +34 -0
- data/lib/sbom/cyclone_dx/record/parameter.rb +20 -0
- data/lib/sbom/cyclone_dx/record/patch.rb +23 -0
- data/lib/sbom/cyclone_dx/record/performance_metric.rb +30 -0
- data/lib/sbom/cyclone_dx/record/postal_address.rb +34 -0
- data/lib/sbom/cyclone_dx/record/property.rb +18 -0
- data/lib/sbom/cyclone_dx/record/rating.rb +27 -0
- data/lib/sbom/cyclone_dx/record/release_notes.rb +44 -0
- data/lib/sbom/cyclone_dx/record/resource_reference_choice.rb +22 -0
- data/lib/sbom/cyclone_dx/record/risk.rb +18 -0
- data/lib/sbom/cyclone_dx/record/root.rb +63 -0
- data/lib/sbom/cyclone_dx/record/secured_by.rb +20 -0
- data/lib/sbom/cyclone_dx/record/service.rb +54 -0
- data/lib/sbom/cyclone_dx/record/service_data.rb +32 -0
- data/lib/sbom/cyclone_dx/record/signature.rb +85 -0
- data/lib/sbom/cyclone_dx/record/standard.rb +72 -0
- data/lib/sbom/cyclone_dx/record/step.rb +24 -0
- data/lib/sbom/cyclone_dx/record/swid.rb +29 -0
- data/lib/sbom/cyclone_dx/record/task.rb +56 -0
- data/lib/sbom/cyclone_dx/record/tools.rb +20 -0
- data/lib/sbom/cyclone_dx/record/trigger.rb +48 -0
- data/lib/sbom/cyclone_dx/record/version.rb +24 -0
- data/lib/sbom/cyclone_dx/record/volume.rb +33 -0
- data/lib/sbom/cyclone_dx/record/vulnerability.rb +119 -0
- data/lib/sbom/cyclone_dx/record/vulnerability_source.rb +20 -0
- data/lib/sbom/cyclone_dx/record/workflow.rb +59 -0
- data/lib/sbom/cyclone_dx/record/workspace.rb +45 -0
- data/lib/sbom/cyclone_dx/record.rb +12 -0
- data/lib/sbom/cyclone_dx/validator/array_validator.rb +66 -0
- data/lib/sbom/cyclone_dx/validator/base_validator.rb +43 -0
- data/lib/sbom/cyclone_dx/validator/boolean_validator.rb +16 -0
- data/lib/sbom/cyclone_dx/validator/date_time_validator.rb +29 -0
- data/lib/sbom/cyclone_dx/validator/email_address_validator.rb +31 -0
- data/lib/sbom/cyclone_dx/validator/float_validator.rb +30 -0
- data/lib/sbom/cyclone_dx/validator/integer_validator.rb +30 -0
- data/lib/sbom/cyclone_dx/validator/record_validator.rb +26 -0
- data/lib/sbom/cyclone_dx/validator/string_validator.rb +33 -0
- data/lib/sbom/cyclone_dx/validator/union_validator.rb +39 -0
- data/lib/sbom/cyclone_dx/validator/uri_validator.rb +32 -0
- data/lib/sbom/cyclone_dx/validator.rb +32 -0
- data/lib/sbom/cyclone_dx/version.rb +7 -0
- data/lib/sbom/cyclone_dx.rb +39 -0
- data/rbs_collection.lock.yaml +288 -0
- data/rbs_collection.yaml +31 -0
- data/sbom-cyclone_dx.gemspec +32 -0
- data/sig/email_address_extension.rbs +14 -0
- data/sig/sbom/cyclone_dx/enum.rbs +93 -0
- data/sig/sbom/cyclone_dx/field.rbs +434 -0
- data/sig/sbom/cyclone_dx/pattern.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/advisory.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/annotation.rbs +63 -0
- data/sig/sbom/cyclone_dx/record/attachment.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/base.rbs +62 -0
- data/sig/sbom/cyclone_dx/record/cipher_suite.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/co2_measure.rbs +14 -0
- data/sig/sbom/cyclone_dx/record/command.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/commit.rbs +34 -0
- data/sig/sbom/cyclone_dx/record/component.rbs +203 -0
- data/sig/sbom/cyclone_dx/record/component_data.rbs +73 -0
- data/sig/sbom/cyclone_dx/record/component_evidence.rbs +115 -0
- data/sig/sbom/cyclone_dx/record/component_identity_evidence.rbs +53 -0
- data/sig/sbom/cyclone_dx/record/composition.rbs +39 -0
- data/sig/sbom/cyclone_dx/record/condition.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/copyright.rbs +14 -0
- data/sig/sbom/cyclone_dx/record/crypto_properties.rbs +268 -0
- data/sig/sbom/cyclone_dx/record/data_governance.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/data_governance_responsible_party.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/declarations.rbs +352 -0
- data/sig/sbom/cyclone_dx/record/definitions.rbs +14 -0
- data/sig/sbom/cyclone_dx/record/dependency.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/diff.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/energy_consumption.rbs +39 -0
- data/sig/sbom/cyclone_dx/record/energy_measure.rbs +14 -0
- data/sig/sbom/cyclone_dx/record/energy_provider.rbs +39 -0
- data/sig/sbom/cyclone_dx/record/environmental_consideration.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/event.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/external_reference.rbs +29 -0
- data/sig/sbom/cyclone_dx/record/fairness_assessment.rbs +29 -0
- data/sig/sbom/cyclone_dx/record/formula.rbs +34 -0
- data/sig/sbom/cyclone_dx/record/graphic.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/graphics_collection.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/hash_data.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/identifiable_action.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/input.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/input_output_ml_parameter.rbs +14 -0
- data/sig/sbom/cyclone_dx/record/issue.rbs +53 -0
- data/sig/sbom/cyclone_dx/record/license.rbs +134 -0
- data/sig/sbom/cyclone_dx/record/license_choice.rbs +39 -0
- data/sig/sbom/cyclone_dx/record/metadata.rbs +82 -0
- data/sig/sbom/cyclone_dx/record/model_card.rbs +143 -0
- data/sig/sbom/cyclone_dx/record/note.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/organizational_contact.rbs +29 -0
- data/sig/sbom/cyclone_dx/record/organizational_entity.rbs +34 -0
- data/sig/sbom/cyclone_dx/record/output.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/parameter.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/patch.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/performance_metric.rbs +43 -0
- data/sig/sbom/cyclone_dx/record/postal_address.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/property.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/rating.rbs +39 -0
- data/sig/sbom/cyclone_dx/record/release_notes.rbs +64 -0
- data/sig/sbom/cyclone_dx/record/resource_reference_choice.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/risk.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/root.rbs +84 -0
- data/sig/sbom/cyclone_dx/record/secured_by.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/service.rbs +99 -0
- data/sig/sbom/cyclone_dx/record/service_data.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/signature.rbs +130 -0
- data/sig/sbom/cyclone_dx/record/standard.rbs +132 -0
- data/sig/sbom/cyclone_dx/record/step.rbs +29 -0
- data/sig/sbom/cyclone_dx/record/swid.rbs +44 -0
- data/sig/sbom/cyclone_dx/record/task.rbs +84 -0
- data/sig/sbom/cyclone_dx/record/tools.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/trigger.rbs +69 -0
- data/sig/sbom/cyclone_dx/record/version.rbs +24 -0
- data/sig/sbom/cyclone_dx/record/volume.rbs +49 -0
- data/sig/sbom/cyclone_dx/record/vulnerability.rbs +209 -0
- data/sig/sbom/cyclone_dx/record/vulnerability_source.rbs +19 -0
- data/sig/sbom/cyclone_dx/record/workflow.rbs +94 -0
- data/sig/sbom/cyclone_dx/record/workspace.rbs +69 -0
- data/sig/sbom/cyclone_dx/record.rbs +161 -0
- data/sig/sbom/cyclone_dx/type.rbs +16 -0
- data/sig/sbom/cyclone_dx/validator/array_validator.rbs +31 -0
- data/sig/sbom/cyclone_dx/validator/base_validator.rbs +21 -0
- data/sig/sbom/cyclone_dx/validator/boolean_validator.rbs +9 -0
- data/sig/sbom/cyclone_dx/validator/date_time_validator.rbs +10 -0
- data/sig/sbom/cyclone_dx/validator/email_address_validator.rbs +10 -0
- data/sig/sbom/cyclone_dx/validator/float_validator.rbs +12 -0
- data/sig/sbom/cyclone_dx/validator/integer_validator.rbs +12 -0
- data/sig/sbom/cyclone_dx/validator/record_validator.rbs +12 -0
- data/sig/sbom/cyclone_dx/validator/string_validator.rbs +14 -0
- data/sig/sbom/cyclone_dx/validator/union_validator.rbs +24 -0
- data/sig/sbom/cyclone_dx/validator/uri_validator.rbs +10 -0
- data/sig/sbom/cyclone_dx/validator.rbs +66 -0
- data/sig/sbom/cyclone_dx.rbs +13 -0
- data/sig/types.rbs +45 -0
- data/spec/email_address_extension_spec.rb +27 -0
- data/spec/factories/factory_helper.rb +78 -0
- data/spec/factories/record/advisory_factory.rb +11 -0
- data/spec/factories/record/annotation_factory.rb +63 -0
- data/spec/factories/record/attachment_factory.rb +9 -0
- data/spec/factories/record/cipher_suite_factory.rb +26 -0
- data/spec/factories/record/co2_measure_factory.rb +9 -0
- data/spec/factories/record/command_factory.rb +10 -0
- data/spec/factories/record/commit_factory.rb +13 -0
- data/spec/factories/record/component_data_factory.rb +28 -0
- data/spec/factories/record/component_evidence_factory.rb +44 -0
- data/spec/factories/record/component_factory.rb +102 -0
- data/spec/factories/record/component_identity_evidence_factory.rb +25 -0
- data/spec/factories/record/composition_factory.rb +20 -0
- data/spec/factories/record/condition_factory.rb +11 -0
- data/spec/factories/record/copyright_factory.rb +9 -0
- data/spec/factories/record/crypto_properties_factory.rb +191 -0
- data/spec/factories/record/data_governance_factory.rb +11 -0
- data/spec/factories/record/data_governance_responsible_party_factory.rb +31 -0
- data/spec/factories/record/declarations_factory.rb +145 -0
- data/spec/factories/record/definitions_factory.rb +9 -0
- data/spec/factories/record/dependency_factory.rb +12 -0
- data/spec/factories/record/diff_factory.rb +24 -0
- data/spec/factories/record/energy_consumption_factory.rb +15 -0
- data/spec/factories/record/energy_measure_factory.rb +9 -0
- data/spec/factories/record/energy_provider_factory.rb +15 -0
- data/spec/factories/record/environmental_consideration_factory.rb +10 -0
- data/spec/factories/record/event_factory.rb +15 -0
- data/spec/factories/record/external_reference_factory.rb +13 -0
- data/spec/factories/record/fairness_assessment_factory.rb +12 -0
- data/spec/factories/record/formula_factory.rb +13 -0
- data/spec/factories/record/graphic_factory.rb +10 -0
- data/spec/factories/record/graphics_collection_factory.rb +10 -0
- data/spec/factories/record/hash_data_factory.rb +10 -0
- data/spec/factories/record/identifiable_action_factory.rb +11 -0
- data/spec/factories/record/input_factory.rb +36 -0
- data/spec/factories/record/input_output_ml_parameter_factory.rb +9 -0
- data/spec/factories/record/issue_factory.rb +22 -0
- data/spec/factories/record/license_choice_factory.rb +23 -0
- data/spec/factories/record/license_factory.rb +99 -0
- data/spec/factories/record/metadata_factory.rb +38 -0
- data/spec/factories/record/model_card_factory.rb +59 -0
- data/spec/factories/record/note_factory.rb +11 -0
- data/spec/factories/record/organizational_contact_factory.rb +12 -0
- data/spec/factories/record/organizational_entity_factory.rb +13 -0
- data/spec/factories/record/output_factory.rb +32 -0
- data/spec/factories/record/parameter_factory.rb +11 -0
- data/spec/factories/record/patch_factory.rb +12 -0
- data/spec/factories/record/performance_metric_factory.rb +20 -0
- data/spec/factories/record/postal_address_factory.rb +14 -0
- data/spec/factories/record/property_factory.rb +11 -0
- data/spec/factories/record/rating_factory.rb +14 -0
- data/spec/factories/record/release_notes_factory.rb +20 -0
- data/spec/factories/record/resource_reference_choice_factory.rb +27 -0
- data/spec/factories/record/risk_factory.rb +10 -0
- data/spec/factories/record/root_factory.rb +23 -0
- data/spec/factories/record/secured_by_factory.rb +10 -0
- data/spec/factories/record/service_data_factory.rb +16 -0
- data/spec/factories/record/service_factory.rb +27 -0
- data/spec/factories/record/signature_factory.rb +50 -0
- data/spec/factories/record/standard_factory.rb +37 -0
- data/spec/factories/record/step_factory.rb +12 -0
- data/spec/factories/record/swid_factory.rb +16 -0
- data/spec/factories/record/task_factory.rb +24 -0
- data/spec/factories/record/tools_factory.rb +10 -0
- data/spec/factories/record/trigger_factory.rb +21 -0
- data/spec/factories/record/version_factory.rb +19 -0
- data/spec/factories/record/volume_factory.rb +16 -0
- data/spec/factories/record/vulnerability_factory.rb +70 -0
- data/spec/factories/record/vulnerability_source_factory.rb +10 -0
- data/spec/factories/record/workflow_factory.rb +26 -0
- data/spec/factories/record/workspace_factory.rb +21 -0
- data/spec/factories/record_factory.rb +159 -0
- data/spec/fixtures/cipher_info.yml +948 -0
- data/spec/fixtures/purl_data.yml +0 -0
- data/spec/sbom/cyclone_dx/enum_spec.rb +30 -0
- data/spec/sbom/cyclone_dx/field_spec.rb +104 -0
- data/spec/sbom/cyclone_dx/pattern_spec.rb +18 -0
- data/spec/sbom/cyclone_dx/record/advisory_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/annotation_spec.rb +31 -0
- data/spec/sbom/cyclone_dx/record/attachment_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/base_spec.rb +363 -0
- data/spec/sbom/cyclone_dx/record/cipher_suite_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/co2_measure_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/command_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/commit_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/component_data_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/component_evidence_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/component_identity_evidence_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/component_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/composition_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/condition_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/copyright_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/crypto_properties_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/data_governance_responsible_party_spec.rb +19 -0
- data/spec/sbom/cyclone_dx/record/data_governance_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/declarations_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/definitions_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/dependency_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/diff_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/energy_consumption_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/energy_measure_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/energy_provider_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/environmental_consideration_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/event_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/external_reference_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/fairness_assessment_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/formula_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/graphic_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/graphics_collection_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/hash_data_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/identifiable_action_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/input_output_ml_parameter_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/input_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/issue_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/license_choice_spec.rb +26 -0
- data/spec/sbom/cyclone_dx/record/license_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/metadata_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/model_card_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/note_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/organizational_contact_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/organizational_entity_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/output_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/parameter_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/patch_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/performance_metric_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/postal_address_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/property_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/rating_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/release_notes_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/resource_reference_choice_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/risk_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/root_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/secured_by_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/service_data_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/service_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/signature_spec.rb +26 -0
- data/spec/sbom/cyclone_dx/record/standard_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/step_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/swid_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/task_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/tools_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/trigger_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/version_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/volume_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/vulnerability_source_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/vulnerability_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/workflow_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record/workspace_spec.rb +14 -0
- data/spec/sbom/cyclone_dx/record_spec.rb +7 -0
- data/spec/sbom/cyclone_dx/validator/array_validator_spec.rb +184 -0
- data/spec/sbom/cyclone_dx/validator/base_validator_spec.rb +71 -0
- data/spec/sbom/cyclone_dx/validator/boolean_validator_spec.rb +26 -0
- data/spec/sbom/cyclone_dx/validator/date_time_validator_spec.rb +28 -0
- data/spec/sbom/cyclone_dx/validator/email_address_validator_spec.rb +23 -0
- data/spec/sbom/cyclone_dx/validator/float_validator_spec.rb +71 -0
- data/spec/sbom/cyclone_dx/validator/integer_validator_spec.rb +71 -0
- data/spec/sbom/cyclone_dx/validator/record_validator_spec.rb +35 -0
- data/spec/sbom/cyclone_dx/validator/string_validator_spec.rb +94 -0
- data/spec/sbom/cyclone_dx/validator/union_validator_spec.rb +65 -0
- data/spec/sbom/cyclone_dx/validator/uri_validator_spec.rb +21 -0
- data/spec/sbom/cyclone_dx/validator_spec.rb +38 -0
- data/spec/sbom/cyclone_dx/version_spec.rb +9 -0
- data/spec/sbom/cyclone_dx_spec.rb +7 -0
- data/spec/spec_helper.rb +39 -0
- metadata +377 -6
@@ -0,0 +1,69 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Trigger < Base
|
5
|
+
def initialize: (bom_ref: String, uid: String, ?name: String?, ?description: String?, ?resource_references: Array[ResourceReferenceChoice]?, type: String, ?event: Event?, ?conditions: Array[Condition]?, ?time_activated: dateTime?, ?inputs: Array[Input]?, ?outputs: Array[Output]?, ?properties: Array[Property]?) -> void
|
6
|
+
|
7
|
+
def bom_ref: () -> String
|
8
|
+
def bom_ref=: (String) -> String
|
9
|
+
def bom_ref?: () -> bool
|
10
|
+
def bom_ref_valid?: () -> bool
|
11
|
+
|
12
|
+
def uid: () -> String
|
13
|
+
def uid=: (String) -> String
|
14
|
+
def uid?: () -> bool
|
15
|
+
def uid_valid?: () -> bool
|
16
|
+
|
17
|
+
def name: () -> String?
|
18
|
+
def name=: (String?) -> String?
|
19
|
+
def name?: () -> bool
|
20
|
+
def name_valid?: () -> bool
|
21
|
+
|
22
|
+
def description: () -> String?
|
23
|
+
def description=: (String?) -> String?
|
24
|
+
def description?: () -> bool
|
25
|
+
def description_valid?: () -> bool
|
26
|
+
|
27
|
+
def resource_references: () -> Array[ResourceReferenceChoice]?
|
28
|
+
def resource_references=: (Array[ResourceReferenceChoice]?) -> Array[ResourceReferenceChoice]?
|
29
|
+
def resource_references?: () -> bool
|
30
|
+
def resource_references_valid?: () -> bool
|
31
|
+
|
32
|
+
def type: () -> String
|
33
|
+
def type=: (String) -> String
|
34
|
+
def type?: () -> bool
|
35
|
+
def type_valid?: () -> bool
|
36
|
+
|
37
|
+
def event: () -> Event?
|
38
|
+
def event=: (Event?) -> Event?
|
39
|
+
def event?: () -> bool
|
40
|
+
def event_valid?: () -> bool
|
41
|
+
|
42
|
+
def conditions: () -> Array[Condition]?
|
43
|
+
def conditions=: (Array[Condition]?) -> Array[Condition]?
|
44
|
+
def conditions?: () -> bool
|
45
|
+
def conditions_valid?: () -> bool
|
46
|
+
|
47
|
+
def time_activated: () -> dateTime?
|
48
|
+
def time_activated=: (dateTime?) -> dateTime?
|
49
|
+
def time_activated?: () -> bool
|
50
|
+
def time_activated_valid?: () -> bool
|
51
|
+
|
52
|
+
def inputs: () -> Array[Input]?
|
53
|
+
def inputs=: (Array[Input]?) -> Array[Input]?
|
54
|
+
def inputs?: () -> bool
|
55
|
+
def inputs_valid?: () -> bool
|
56
|
+
|
57
|
+
def outputs: () -> Array[Output]?
|
58
|
+
def outputs=: (Array[Output]?) -> Array[Output]?
|
59
|
+
def outputs?: () -> bool
|
60
|
+
def outputs_valid?: () -> bool
|
61
|
+
|
62
|
+
def properties: () -> Array[Property]?
|
63
|
+
def properties=: (Array[Property]?) -> Array[Property]?
|
64
|
+
def properties?: () -> bool
|
65
|
+
def properties_valid?: () -> bool
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Version < Base
|
5
|
+
def initialize: (?version: String?, ?range: String?, ?status: String?) -> void
|
6
|
+
|
7
|
+
def version: () -> String?
|
8
|
+
def version=: (String?) -> String?
|
9
|
+
def version?: () -> bool
|
10
|
+
def version_valid?: () -> bool
|
11
|
+
|
12
|
+
def range: () -> String?
|
13
|
+
def range=: (String?) -> String?
|
14
|
+
def range?: () -> bool
|
15
|
+
def range_valid?: () -> bool
|
16
|
+
|
17
|
+
def status: () -> String?
|
18
|
+
def status=: (String?) -> String?
|
19
|
+
def status?: () -> bool
|
20
|
+
def status_valid?: () -> bool
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Volume < Base
|
5
|
+
def initialize: (?uid: String?, ?name: String?, ?mode: String?, ?path: String?, ?size_allocated: String?, ?persistent: bool?, ?remote: bool?, ?properties: Array[Property]?) -> void
|
6
|
+
|
7
|
+
def uid: () -> String?
|
8
|
+
def uid=: (String?) -> String?
|
9
|
+
def uid?: () -> bool
|
10
|
+
def uid_valid?: () -> bool
|
11
|
+
|
12
|
+
def name: () -> String?
|
13
|
+
def name=: (String?) -> String?
|
14
|
+
def name?: () -> bool
|
15
|
+
def name_valid?: () -> bool
|
16
|
+
|
17
|
+
def mode: () -> String?
|
18
|
+
def mode=: (String?) -> String?
|
19
|
+
def mode?: () -> bool
|
20
|
+
def mode_valid?: () -> bool
|
21
|
+
|
22
|
+
def path: () -> String?
|
23
|
+
def path=: (String?) -> String?
|
24
|
+
def path?: () -> bool
|
25
|
+
def path_valid?: () -> bool
|
26
|
+
|
27
|
+
def size_allocated: () -> String?
|
28
|
+
def size_allocated=: (String?) -> String?
|
29
|
+
def size_allocated?: () -> bool
|
30
|
+
def size_allocated_valid?: () -> bool
|
31
|
+
|
32
|
+
def persistent: () -> bool?
|
33
|
+
def persistent=: (bool?) -> bool?
|
34
|
+
def persistent?: () -> bool
|
35
|
+
def persistent_valid?: () -> bool
|
36
|
+
|
37
|
+
def remote: () -> bool?
|
38
|
+
def remote=: (bool?) -> bool?
|
39
|
+
def remote?: () -> bool
|
40
|
+
def remote_valid?: () -> bool
|
41
|
+
|
42
|
+
def properties: () -> Array[Property]?
|
43
|
+
def properties=: (Array[Property]?) -> Array[Property]?
|
44
|
+
def properties?: () -> bool
|
45
|
+
def properties_valid?: () -> bool
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,209 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Vulnerability < Base
|
5
|
+
class Analysis < Base
|
6
|
+
def initialize: (?state: String?, ?justification: String?, ?response: Array[String]?, ?detail: String?, ?first_issued: dateTime?, ?last_updated: dateTime?) -> void
|
7
|
+
|
8
|
+
def state: () -> String?
|
9
|
+
def state=: (String?) -> String?
|
10
|
+
def state?: () -> bool
|
11
|
+
def state_valid?: () -> bool
|
12
|
+
|
13
|
+
def justification: () -> String?
|
14
|
+
def justification=: (String?) -> String?
|
15
|
+
def justification?: () -> bool
|
16
|
+
def justification_valid?: () -> bool
|
17
|
+
|
18
|
+
def response: () -> Array[String]?
|
19
|
+
def response=: (Array[String]?) -> Array[String]?
|
20
|
+
def response?: () -> bool
|
21
|
+
def response_valid?: () -> bool
|
22
|
+
|
23
|
+
def detail: () -> String?
|
24
|
+
def detail=: (String?) -> String?
|
25
|
+
def detail?: () -> bool
|
26
|
+
def detail_valid?: () -> bool
|
27
|
+
|
28
|
+
def first_issued: () -> dateTime?
|
29
|
+
def first_issued=: (dateTime?) -> dateTime?
|
30
|
+
def first_issued?: () -> bool
|
31
|
+
def first_issued_valid?: () -> bool
|
32
|
+
|
33
|
+
def last_updated: () -> dateTime?
|
34
|
+
def last_updated=: (dateTime?) -> dateTime?
|
35
|
+
def last_updated?: () -> bool
|
36
|
+
def last_updated_valid?: () -> bool
|
37
|
+
end
|
38
|
+
|
39
|
+
class Affects < Base
|
40
|
+
def initialize: (ref: String, ?versions: Array[Version]?) -> void
|
41
|
+
|
42
|
+
def ref: () -> String
|
43
|
+
def ref=: (String) -> String
|
44
|
+
def ref?: () -> bool
|
45
|
+
def ref_valid?: () -> bool
|
46
|
+
|
47
|
+
def versions: () -> Array[Version]?
|
48
|
+
def versions=: (Array[Version]?) -> Array[Version]?
|
49
|
+
def versions?: () -> bool
|
50
|
+
def versions_valid?: () -> bool
|
51
|
+
end
|
52
|
+
|
53
|
+
class Credits < Base
|
54
|
+
def initialize: (?organizations: Array[OrganizationalEntity]?, ?individuals: Array[OrganizationalContact]?) -> void
|
55
|
+
|
56
|
+
def organizations: () -> Array[OrganizationalEntity]?
|
57
|
+
def organizations=: (Array[OrganizationalEntity]?) -> Array[OrganizationalEntity]?
|
58
|
+
def organizations?: () -> bool
|
59
|
+
def organizations_valid?: () -> bool
|
60
|
+
|
61
|
+
def individuals: () -> Array[OrganizationalContact]?
|
62
|
+
def individuals=: (Array[OrganizationalContact]?) -> Array[OrganizationalContact]?
|
63
|
+
def individuals?: () -> bool
|
64
|
+
def individuals_valid?: () -> bool
|
65
|
+
end
|
66
|
+
|
67
|
+
class ProofOfConcept < Base
|
68
|
+
def initialize: (?reproduction_steps: String?, ?environment: String?, ?supporting_material: Array[Attachment]?) -> void
|
69
|
+
|
70
|
+
def reproduction_steps: () -> String?
|
71
|
+
def reproduction_steps=: (String?) -> String?
|
72
|
+
def reproduction_steps?: () -> bool
|
73
|
+
def reproduction_steps_valid?: () -> bool
|
74
|
+
|
75
|
+
def environment: () -> String?
|
76
|
+
def environment=: (String?) -> String?
|
77
|
+
def environment?: () -> bool
|
78
|
+
def environment_valid?: () -> bool
|
79
|
+
|
80
|
+
def supporting_material: () -> Array[Attachment]?
|
81
|
+
def supporting_material=: (Array[Attachment]?) -> Array[Attachment]?
|
82
|
+
def supporting_material?: () -> bool
|
83
|
+
def supporting_material_valid?: () -> bool
|
84
|
+
end
|
85
|
+
|
86
|
+
class Reference < Base
|
87
|
+
def initialize: (id: String, source: VulnerabilitySource) -> void
|
88
|
+
|
89
|
+
def id: () -> String
|
90
|
+
def id=: (String) -> String
|
91
|
+
def id?: () -> bool
|
92
|
+
def id_valid?: () -> bool
|
93
|
+
|
94
|
+
def source: () -> VulnerabilitySource
|
95
|
+
def source=: (VulnerabilitySource) -> VulnerabilitySource
|
96
|
+
def source?: () -> bool
|
97
|
+
def source_valid?: () -> bool
|
98
|
+
end
|
99
|
+
|
100
|
+
def initialize: (?bom_ref: String?, ?id: String?, ?source: VulnerabilitySource?, ?references: Array[Reference]?, ?ratings: Array[Rating]?, ?cwes: Array[Integer]?, ?description: String?, ?detail: String?, ?recommendation: String?, ?workaround: String?, ?proof_of_concept: ProofOfConcept?, ?advisories: Array[Advisory]?, ?created: dateTime?, ?published: dateTime?, ?updated: dateTime?, ?rejected: dateTime?, ?credits: Credits?, ?tools: Tools?, ?analysis: Analysis?, ?affects: Array[Affects]?, ?properties: Array[Property]?) -> void
|
101
|
+
|
102
|
+
def bom_ref: () -> String?
|
103
|
+
def bom_ref=: (String?) -> String?
|
104
|
+
def bom_ref?: () -> bool
|
105
|
+
def bom_ref_valid?: () -> bool
|
106
|
+
|
107
|
+
def id: () -> String?
|
108
|
+
def id=: (String?) -> String?
|
109
|
+
def id?: () -> bool
|
110
|
+
def id_valid?: () -> bool
|
111
|
+
|
112
|
+
def source: () -> VulnerabilitySource?
|
113
|
+
def source=: (VulnerabilitySource?) -> VulnerabilitySource?
|
114
|
+
def source?: () -> bool
|
115
|
+
def source_valid?: () -> bool
|
116
|
+
|
117
|
+
def references: () -> Array[Reference]?
|
118
|
+
def references=: (Array[Reference]?) -> Array[Reference]?
|
119
|
+
def references?: () -> bool
|
120
|
+
def references_valid?: () -> bool
|
121
|
+
|
122
|
+
def ratings: () -> Array[Rating]?
|
123
|
+
def ratings=: (Array[Rating]?) -> Array[Rating]?
|
124
|
+
def ratings?: () -> bool
|
125
|
+
def ratings_valid?: () -> bool
|
126
|
+
|
127
|
+
def cwes: () -> Array[Integer]?
|
128
|
+
def cwes=: (Array[Integer]?) -> Array[Integer]?
|
129
|
+
def cwes?: () -> bool
|
130
|
+
def cwes_valid?: () -> bool
|
131
|
+
|
132
|
+
def description: () -> String?
|
133
|
+
def description=: (String?) -> String?
|
134
|
+
def description?: () -> bool
|
135
|
+
def description_valid?: () -> bool
|
136
|
+
|
137
|
+
def detail: () -> String?
|
138
|
+
def detail=: (String?) -> String?
|
139
|
+
def detail?: () -> bool
|
140
|
+
def detail_valid?: () -> bool
|
141
|
+
|
142
|
+
def recommendation: () -> String?
|
143
|
+
def recommendation=: (String?) -> String?
|
144
|
+
def recommendation?: () -> bool
|
145
|
+
def recommendation_valid?: () -> bool
|
146
|
+
|
147
|
+
def workaround: () -> String?
|
148
|
+
def workaround=: (String?) -> String?
|
149
|
+
def workaround?: () -> bool
|
150
|
+
def workaround_valid?: () -> bool
|
151
|
+
|
152
|
+
def proof_of_concept: () -> ProofOfConcept?
|
153
|
+
def proof_of_concept=: (ProofOfConcept?) -> ProofOfConcept?
|
154
|
+
def proof_of_concept?: () -> bool
|
155
|
+
def proof_of_concept_valid?: () -> bool
|
156
|
+
|
157
|
+
def advisories: () -> Array[Advisory]?
|
158
|
+
def advisories=: (Array[Advisory]?) -> Array[Advisory]?
|
159
|
+
def advisories?: () -> bool
|
160
|
+
def advisories_valid?: () -> bool
|
161
|
+
|
162
|
+
def created: () -> dateTime?
|
163
|
+
def created=: (dateTime?) -> dateTime?
|
164
|
+
def created?: () -> bool
|
165
|
+
def created_valid?: () -> bool
|
166
|
+
|
167
|
+
def published: () -> dateTime?
|
168
|
+
def published=: (dateTime?) -> dateTime?
|
169
|
+
def published?: () -> bool
|
170
|
+
def published_valid?: () -> bool
|
171
|
+
|
172
|
+
def updated: () -> dateTime?
|
173
|
+
def updated=: (dateTime?) -> dateTime?
|
174
|
+
def updated?: () -> bool
|
175
|
+
def updated_valid?: () -> bool
|
176
|
+
|
177
|
+
def rejected: () -> dateTime?
|
178
|
+
def rejected=: (dateTime?) -> dateTime?
|
179
|
+
def rejected?: () -> bool
|
180
|
+
def rejected_valid?: () -> bool
|
181
|
+
|
182
|
+
def credits: () -> Credits?
|
183
|
+
def credits=: (Credits?) -> Credits?
|
184
|
+
def credits?: () -> bool
|
185
|
+
def credits_valid?: () -> bool
|
186
|
+
|
187
|
+
def tools: () -> Tools?
|
188
|
+
def tools=: (Tools?) -> Tools?
|
189
|
+
def tools?: () -> bool
|
190
|
+
def tools_valid?: () -> bool
|
191
|
+
|
192
|
+
def analysis: () -> Analysis?
|
193
|
+
def analysis=: (Analysis?) -> Analysis?
|
194
|
+
def analysis?: () -> bool
|
195
|
+
def analysis_valid?: () -> bool
|
196
|
+
|
197
|
+
def affects: () -> Array[Affects]?
|
198
|
+
def affects=: (Array[Affects]?) -> Array[Affects]?
|
199
|
+
def affects?: () -> bool
|
200
|
+
def affects_valid?: () -> bool
|
201
|
+
|
202
|
+
def properties: () -> Array[Property]?
|
203
|
+
def properties=: (Array[Property]?) -> Array[Property]?
|
204
|
+
def properties?: () -> bool
|
205
|
+
def properties_valid?: () -> bool
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class VulnerabilitySource < Base
|
5
|
+
def initialize: (?url: String?, ?name: String?) -> void
|
6
|
+
|
7
|
+
def url: () -> String?
|
8
|
+
def url=: (String?) -> String?
|
9
|
+
def url?: () -> bool
|
10
|
+
def url_valid?: () -> bool
|
11
|
+
|
12
|
+
def name: () -> String?
|
13
|
+
def name=: (String?) -> String?
|
14
|
+
def name?: () -> bool
|
15
|
+
def name_valid?: () -> bool
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Workflow < Base
|
5
|
+
def initialize: (bom_ref: String, uid: String, ?name: String?, ?description: String?, ?resource_references: Array[ResourceReferenceChoice]?, ?tasks: Array[Task]?, ?task_dependencies: Array[Dependency]?, ?task_types: Array[String]?, ?trigger: Trigger?, ?steps: Array[Step]?, ?inputs: Array[Input]?, ?outputs: Array[Output]?, ?time_start: dateTime?, ?time_end: dateTime?, ?workspaces: Array[Workspace]?, ?runtime_topology: Array[Dependency]?, ?properties: Array[Property]?) -> void
|
6
|
+
|
7
|
+
def bom_ref: () -> String
|
8
|
+
def bom_ref=: (String) -> String
|
9
|
+
def bom_ref?: () -> bool
|
10
|
+
def bom_ref_valid?: () -> bool
|
11
|
+
|
12
|
+
def uid: () -> String
|
13
|
+
def uid=: (String) -> String
|
14
|
+
def uid?: () -> bool
|
15
|
+
def uid_valid?: () -> bool
|
16
|
+
|
17
|
+
def name: () -> String?
|
18
|
+
def name=: (String?) -> String?
|
19
|
+
def name?: () -> bool
|
20
|
+
def name_valid?: () -> bool
|
21
|
+
|
22
|
+
def description: () -> String?
|
23
|
+
def description=: (String?) -> String?
|
24
|
+
def description?: () -> bool
|
25
|
+
def description_valid?: () -> bool
|
26
|
+
|
27
|
+
def resource_references: () -> Array[ResourceReferenceChoice]?
|
28
|
+
def resource_references=: (Array[ResourceReferenceChoice]?) -> Array[ResourceReferenceChoice]?
|
29
|
+
def resource_references?: () -> bool
|
30
|
+
def resource_references_valid?: () -> bool
|
31
|
+
|
32
|
+
def tasks: () -> Array[Task]?
|
33
|
+
def tasks=: (Array[Task]?) -> Array[Task]?
|
34
|
+
def tasks?: () -> bool
|
35
|
+
def tasks_valid?: () -> bool
|
36
|
+
|
37
|
+
def task_dependencies: () -> Array[Dependency]?
|
38
|
+
def task_dependencies=: (Array[Dependency]?) -> Array[Dependency]?
|
39
|
+
def task_dependencies?: () -> bool
|
40
|
+
def task_dependencies_valid?: () -> bool
|
41
|
+
|
42
|
+
def task_types: () -> Array[String]?
|
43
|
+
def task_types=: (Array[String]?) -> Array[String]?
|
44
|
+
def task_types?: () -> bool
|
45
|
+
def task_types_valid?: () -> bool
|
46
|
+
|
47
|
+
def trigger: () -> Trigger?
|
48
|
+
def trigger=: (Trigger?) -> Trigger?
|
49
|
+
def trigger?: () -> bool
|
50
|
+
def trigger_valid?: () -> bool
|
51
|
+
|
52
|
+
def steps: () -> Array[Step]?
|
53
|
+
def steps=: (Array[Step]?) -> Array[Step]?
|
54
|
+
def steps?: () -> bool
|
55
|
+
def steps_valid?: () -> bool
|
56
|
+
|
57
|
+
def inputs: () -> Array[Input]?
|
58
|
+
def inputs=: (Array[Input]?) -> Array[Input]?
|
59
|
+
def inputs?: () -> bool
|
60
|
+
def inputs_valid?: () -> bool
|
61
|
+
|
62
|
+
def outputs: () -> Array[Output]?
|
63
|
+
def outputs=: (Array[Output]?) -> Array[Output]?
|
64
|
+
def outputs?: () -> bool
|
65
|
+
def outputs_valid?: () -> bool
|
66
|
+
|
67
|
+
def time_start: () -> dateTime?
|
68
|
+
def time_start=: (dateTime?) -> dateTime?
|
69
|
+
def time_start?: () -> bool
|
70
|
+
def time_start_valid?: () -> bool
|
71
|
+
|
72
|
+
def time_end: () -> dateTime?
|
73
|
+
def time_end=: (dateTime?) -> dateTime?
|
74
|
+
def time_end?: () -> bool
|
75
|
+
def time_end_valid?: () -> bool
|
76
|
+
|
77
|
+
def workspaces: () -> Array[Workspace]?
|
78
|
+
def workspaces=: (Array[Workspace]?) -> Array[Workspace]?
|
79
|
+
def workspaces?: () -> bool
|
80
|
+
def workspaces_valid?: () -> bool
|
81
|
+
|
82
|
+
def runtime_topology: () -> Array[Dependency]?
|
83
|
+
def runtime_topology=: (Array[Dependency]?) -> Array[Dependency]?
|
84
|
+
def runtime_topology?: () -> bool
|
85
|
+
def runtime_topology_valid?: () -> bool
|
86
|
+
|
87
|
+
def properties: () -> Array[Property]?
|
88
|
+
def properties=: (Array[Property]?) -> Array[Property]?
|
89
|
+
def properties?: () -> bool
|
90
|
+
def properties_valid?: () -> bool
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
class Workspace < Base
|
5
|
+
def initialize: (bom_ref: String, uid: String, ?name: String?, ?aliases: Array[String]?, ?description: String?, ?resource_references: Array[ResourceReferenceChoice]?, ?access_mode: String?, ?mount_path: String?, ?managed_data_type: String?, ?volume_request: String?, ?volume: Volume?, ?properties: Array[Property]?) -> void
|
6
|
+
|
7
|
+
def bom_ref: () -> String
|
8
|
+
def bom_ref=: (String) -> String
|
9
|
+
def bom_ref?: () -> bool
|
10
|
+
def bom_ref_valid?: () -> bool
|
11
|
+
|
12
|
+
def uid: () -> String
|
13
|
+
def uid=: (String) -> String
|
14
|
+
def uid?: () -> bool
|
15
|
+
def uid_valid?: () -> bool
|
16
|
+
|
17
|
+
def name: () -> String?
|
18
|
+
def name=: (String?) -> String?
|
19
|
+
def name?: () -> bool
|
20
|
+
def name_valid?: () -> bool
|
21
|
+
|
22
|
+
def aliases: () -> Array[String]?
|
23
|
+
def aliases=: (Array[String]?) -> Array[String]?
|
24
|
+
def aliases?: () -> bool
|
25
|
+
def aliases_valid?: () -> bool
|
26
|
+
|
27
|
+
def description: () -> String?
|
28
|
+
def description=: (String?) -> String?
|
29
|
+
def description?: () -> bool
|
30
|
+
def description_valid?: () -> bool
|
31
|
+
|
32
|
+
def resource_references: () -> Array[ResourceReferenceChoice]?
|
33
|
+
def resource_references=: (Array[ResourceReferenceChoice]?) -> Array[ResourceReferenceChoice]?
|
34
|
+
def resource_references?: () -> bool
|
35
|
+
def resource_references_valid?: () -> bool
|
36
|
+
|
37
|
+
def access_mode: () -> String?
|
38
|
+
def access_mode=: (String?) -> String?
|
39
|
+
def access_mode?: () -> bool
|
40
|
+
def access_mode_valid?: () -> bool
|
41
|
+
|
42
|
+
def mount_path: () -> String?
|
43
|
+
def mount_path=: (String?) -> String?
|
44
|
+
def mount_path?: () -> bool
|
45
|
+
def mount_path_valid?: () -> bool
|
46
|
+
|
47
|
+
def managed_data_type: () -> String?
|
48
|
+
def managed_data_type=: (String?) -> String?
|
49
|
+
def managed_data_type?: () -> bool
|
50
|
+
def managed_data_type_valid?: () -> bool
|
51
|
+
|
52
|
+
def volume_request: () -> String?
|
53
|
+
def volume_request=: (String?) -> String?
|
54
|
+
def volume_request?: () -> bool
|
55
|
+
def volume_request_valid?: () -> bool
|
56
|
+
|
57
|
+
def volume: () -> Volume?
|
58
|
+
def volume=: (Volume?) -> Volume?
|
59
|
+
def volume?: () -> bool
|
60
|
+
def volume_valid?: () -> bool
|
61
|
+
|
62
|
+
def properties: () -> Array[Property]?
|
63
|
+
def properties=: (Array[Property]?) -> Array[Property]?
|
64
|
+
def properties?: () -> bool
|
65
|
+
def properties_valid?: () -> bool
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,161 @@
|
|
1
|
+
module SBOM
|
2
|
+
module CycloneDX
|
3
|
+
module Record
|
4
|
+
type presenceCheck = :all | :any | :one
|
5
|
+
type arrayFieldOptions =
|
6
|
+
{
|
7
|
+
?unique: bool,
|
8
|
+
?json_name: ::String?,
|
9
|
+
?const: ::Array[fieldValue]?,
|
10
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
11
|
+
}
|
12
|
+
| {
|
13
|
+
?unique: bool,
|
14
|
+
?json_name: ::String?,
|
15
|
+
?const: Field::undefined,
|
16
|
+
?default: Field::defaultValue[::Array[fieldValue]] | Field::undefined
|
17
|
+
}
|
18
|
+
type booleanFieldOptions =
|
19
|
+
{
|
20
|
+
?json_name: ::String?,
|
21
|
+
?const: bool?,
|
22
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
23
|
+
}
|
24
|
+
| {
|
25
|
+
?json_name: ::String?,
|
26
|
+
?const: Field::undefined,
|
27
|
+
?default: Field::defaultValue[bool] | Field::undefined
|
28
|
+
}
|
29
|
+
type dateTimeFieldOptions =
|
30
|
+
{
|
31
|
+
?json_name: ::String?,
|
32
|
+
?const: dateTime?,
|
33
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
34
|
+
}
|
35
|
+
| {
|
36
|
+
?json_name: ::String?,
|
37
|
+
?const: Field::undefined,
|
38
|
+
?default: Field::defaultValue[dateTime] | Field::undefined
|
39
|
+
}
|
40
|
+
type emailAddressFieldOptions =
|
41
|
+
{
|
42
|
+
?json_name: ::String?,
|
43
|
+
?const: emailAddress?,
|
44
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
45
|
+
}
|
46
|
+
| {
|
47
|
+
?json_name: ::String?,
|
48
|
+
?const: Field::undefined,
|
49
|
+
?default: Field::defaultValue[emailAddress] | Field::undefined
|
50
|
+
}
|
51
|
+
type floatFieldOptions =
|
52
|
+
{
|
53
|
+
?minimum: ::Float?,
|
54
|
+
?maximum: ::Float?,
|
55
|
+
?json_name: ::String?,
|
56
|
+
?const: ::Float?,
|
57
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
58
|
+
}
|
59
|
+
| {
|
60
|
+
?minimum: ::Float?,
|
61
|
+
?maximum: ::Float?,
|
62
|
+
?json_name: ::String?,
|
63
|
+
?const: Field::undefined,
|
64
|
+
?default: Field::defaultValue[::Float] | Field::undefined
|
65
|
+
}
|
66
|
+
type integerFieldOptions =
|
67
|
+
{
|
68
|
+
?minimum: ::Integer?,
|
69
|
+
?maximum: ::Integer?,
|
70
|
+
?json_name: ::String?,
|
71
|
+
?const: ::Integer?,
|
72
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
73
|
+
}
|
74
|
+
| {
|
75
|
+
?minimum: ::Integer?,
|
76
|
+
?maximum: ::Integer?,
|
77
|
+
?json_name: ::String?,
|
78
|
+
?const: Field::undefined,
|
79
|
+
?default: Field::defaultValue[::Integer] | Field::undefined
|
80
|
+
}
|
81
|
+
type recordFieldOptions =
|
82
|
+
{
|
83
|
+
?json_name: ::String?,
|
84
|
+
?const: ::SBOM::CycloneDX::Record::Base?,
|
85
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
86
|
+
}
|
87
|
+
| {
|
88
|
+
?json_name: ::String?,
|
89
|
+
?const: Field::undefined,
|
90
|
+
?default: Field::defaultValue[::SBOM::CycloneDX::Record::Base] | Field::undefined
|
91
|
+
}
|
92
|
+
type stringFieldOptions =
|
93
|
+
{
|
94
|
+
?enum: ::Array[::String]?,
|
95
|
+
?max_length: ::Integer?,
|
96
|
+
?min_length: ::Integer?,
|
97
|
+
?pattern: ::Regexp,
|
98
|
+
?json_name: ::String?,
|
99
|
+
?const: ::String?,
|
100
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
101
|
+
}
|
102
|
+
| {
|
103
|
+
?enum: ::Array[::String]?,
|
104
|
+
?max_length: ::Integer?,
|
105
|
+
?min_length: ::Integer?,
|
106
|
+
?pattern: ::Regexp,
|
107
|
+
?json_name: ::String?,
|
108
|
+
?const: Field::undefined,
|
109
|
+
?default: Field::defaultValue[::String] | Field::undefined
|
110
|
+
}
|
111
|
+
type unionFieldOptions =
|
112
|
+
{
|
113
|
+
?json_name: ::String?,
|
114
|
+
?const: fieldValue?,
|
115
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
116
|
+
}
|
117
|
+
| {
|
118
|
+
?json_name: ::String?,
|
119
|
+
?const: Field::undefined,
|
120
|
+
?default: Field::defaultValue[fieldValue] | Field::undefined
|
121
|
+
}
|
122
|
+
type uriFieldOptions =
|
123
|
+
{
|
124
|
+
?json_name: ::String?,
|
125
|
+
?const: uri?,
|
126
|
+
?default: ::SBOM::CycloneDX::Field::undefined
|
127
|
+
}
|
128
|
+
| {
|
129
|
+
?json_name: ::String?,
|
130
|
+
?const: Field::undefined,
|
131
|
+
?default: Field::defaultValue[uri] | Field::undefined
|
132
|
+
}
|
133
|
+
|
134
|
+
interface _Instance
|
135
|
+
def initialize: (**untyped) -> void
|
136
|
+
def valid?: () -> bool
|
137
|
+
def as_json: (?Hash[Symbol, untyped]?) -> Hash[String, jsonObject]
|
138
|
+
def to_json: (?::JSON::State?) -> ::String
|
139
|
+
def formatted_errors: () -> Array[String]
|
140
|
+
def errors: () -> Hash[Symbol | String, Array[String]]
|
141
|
+
end
|
142
|
+
|
143
|
+
interface _Klass
|
144
|
+
def create: (**untyped) -> SBOM::CycloneDX::Record::Base
|
145
|
+
def create!: (**untyped) -> SBOM::CycloneDX::Record::Base
|
146
|
+
def json_name: (String) -> void | (?nil) -> String
|
147
|
+
def prop: (Symbol, fieldTypeLabel, ?required: bool, ?json_name: String?, **untyped) -> void
|
148
|
+
def const: (Symbol, fieldTypeLabel, fieldValue, ?required: bool, ?json_name: String?, **untyped) -> void
|
149
|
+
def validate:
|
150
|
+
(*Symbol, presence: :one | :all | :any, ?message: String?) -> void
|
151
|
+
| (*Symbol, ?message: String?) { (*fieldValue?) -> (bool? | String | Array[String]) } -> void
|
152
|
+
| (*Symbol, presence: :one | :all | :any | nil, ?message: String?) ?{ (*fieldValue?) -> (bool? | String | Array[String]) } -> void
|
153
|
+
def prop_names: (?include_const: bool) -> Array[Symbol]
|
154
|
+
def const_names: () -> Array[Symbol]
|
155
|
+
def fields: [T < SBOM::CycloneDX::Field::Base] () -> Hash[Symbol, singleton(SBOM::CycloneDX::Field::Base)]
|
156
|
+
def custom_validators: () -> Array[[Array[Symbol], String?, ^(*fieldValue?) -> (bool? | String | Array[String])]]
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|