Module: SBOM::CycloneDX::Validator
- Defined in:
- lib/sbom/cyclone_dx/validator/uri_validator.rb,
lib/sbom/cyclone_dx/validator.rb,
lib/sbom/cyclone_dx/validator/base_validator.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/validator/record_validator.rb,
lib/sbom/cyclone_dx/validator/string_validator.rb,
lib/sbom/cyclone_dx/validator/boolean_validator.rb,
lib/sbom/cyclone_dx/validator/integer_validator.rb,
lib/sbom/cyclone_dx/validator/date_time_validator.rb,
lib/sbom/cyclone_dx/validator/email_address_validator.rb
Overview
TODO: Add helpful errors
Defined Under Namespace
Classes: ArrayValidator, BaseValidator, BooleanValidator, DateTimeValidator, EmailAddressValidator, FloatValidator, IntegerValidator, RecordValidator, StringValidator, URIValidator, UnionValidator
Constant Summary collapse
- SIMPLE_TYPES =
i[boolean date_time email_address float integer string uri].freeze
Class Method Summary collapse
-
.for(type, **kwargs) ⇒ Object
rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/AbcSize.
Class Method Details
.for(type, **kwargs) ⇒ Object
rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/AbcSize
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/sbom/cyclone_dx/validator.rb', line 11 def for(type, **kwargs) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/AbcSize case type when :array then ArrayValidator.new(items: kwargs.fetch(:items), **kwargs) when :boolean then BooleanValidator.new(**kwargs) when :date_time then DateTimeValidator.new(**kwargs) when :email_address then EmailAddressValidator.new(**kwargs) when :float then FloatValidator.new(**kwargs) when :integer then IntegerValidator.new(**kwargs) when :string then StringValidator.new(**kwargs) when :union then UnionValidator.new(of: kwargs.fetch(:of), **kwargs) when :uri then URIValidator.new(**kwargs) when Class raise ArgumentError, "Unsupported type: #{type.name}" unless type < Record::Base RecordValidator.new(type: type, **kwargs) else raise ArgumentError, "Unsupported type: #{type}" end end |