Class: SBOM::CycloneDX::Validator::IntegerValidator

Inherits:
BaseValidator
  • Object
show all
Defined in:
lib/sbom/cyclone_dx/validator/integer_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(maximum: nil, minimum: nil, required: false) ⇒ IntegerValidator

Returns a new instance of IntegerValidator.



10
11
12
13
14
15
16
17
18
# File 'lib/sbom/cyclone_dx/validator/integer_validator.rb', line 10

def initialize(maximum: nil, minimum: nil, required: false)
  if maximum && minimum && maximum < minimum
    raise ArgumentError, "maximum must be greater than or equal to minimum"
  end

  super(Integer, required: required)

  @range = (minimum..maximum)
end

Instance Method Details

#validate(value) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/sbom/cyclone_dx/validator/integer_validator.rb', line 20

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

  rv << "Value is not within range" unless @range.cover?(value)
  rv
end