Class: SBOM::CycloneDX::Validator::RecordValidator

Inherits:
BaseValidator
  • Object
show all
Defined in:
lib/sbom/cyclone_dx/validator/record_validator.rb

Constant Summary

Constants inherited from BaseValidator

BaseValidator::INVALID_TYPE, BaseValidator::MISSING_REQUIRED

Instance Method Summary collapse

Methods inherited from BaseValidator

#raw_types, #required?, #valid?

Constructor Details

#initialize(type:, required: false) ⇒ RecordValidator

Returns a new instance of RecordValidator.



10
11
12
13
14
# File 'lib/sbom/cyclone_dx/validator/record_validator.rb', line 10

def initialize(type:, required: false)
  super(type, required: required)

  @record_type = type
end

Instance Method Details

#validate(value) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/sbom/cyclone_dx/validator/record_validator.rb', line 16

def validate(value)
  rv = super
  return rv unless value.is_a?(@record_type)

  rv += value.valid? ? [] : value.formatted_errors
  rv.compact
end