Class: SemgrepWebApp::MetadataComponentType

Inherits:
Object
  • Object
show all
Defined in:
lib/semgrep_web_app/models/metadata_component_type.rb

Overview

Metadata component type for the SBOM export. | value | description | |-------|---------------| | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL | | | SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA | |

Constant Summary collapse

METADATA_COMPONENT_TYPE =
[
  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL'.freeze,

  # TODO: Write general description for
  # SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA
  SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA = 'SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/semgrep_web_app/models/metadata_component_type.rb', line 78

def self.from_value(value, default_value = SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'sbom_metadata_component_type_cyclone_dx_v15_application' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION
  when 'sbom_metadata_component_type_cyclone_dx_v15_framework' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK
  when 'sbom_metadata_component_type_cyclone_dx_v15_library' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY
  when 'sbom_metadata_component_type_cyclone_dx_v15_container' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER
  when 'sbom_metadata_component_type_cyclone_dx_v15_platform' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM
  when 'sbom_metadata_component_type_cyclone_dx_v15_operating_system' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM
  when 'sbom_metadata_component_type_cyclone_dx_v15_device' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE
  when 'sbom_metadata_component_type_cyclone_dx_v15_device_driver' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER
  when 'sbom_metadata_component_type_cyclone_dx_v15_firmware' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE
  when 'sbom_metadata_component_type_cyclone_dx_v15_file' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE
  when 'sbom_metadata_component_type_cyclone_dx_v15_machine_learning_model' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL
  when 'sbom_metadata_component_type_cyclone_dx_v15_data' then SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA
  else
    default_value
  end
end

.validate(value) ⇒ Object



72
73
74
75
76
# File 'lib/semgrep_web_app/models/metadata_component_type.rb', line 72

def self.validate(value)
  return false if value.nil?

  METADATA_COMPONENT_TYPE.include?(value)
end