Class: Lutaml::Xsd::Validation::BaseTypes::IntegerValidator
- Inherits:
-
BaseTypeValidator
- Object
- BaseTypeValidator
- Lutaml::Xsd::Validation::BaseTypes::IntegerValidator
- Defined in:
- lib/lutaml/xsd/validation/base_types/integer_validator.rb
Overview
Validates XSD integer type
The integer type represents arbitrary-precision integers. Valid values include positive, negative, and zero integers.
Constant Summary collapse
- INTEGER_PATTERN =
Pattern for valid integer format
/^[+-]?\d+$/
Instance Method Summary collapse
-
#error_message(value) ⇒ String
Generate error message for invalid integer.
-
#valid?(value) ⇒ Boolean
Validate value is a valid integer.
Methods inherited from BaseTypeValidator
Instance Method Details
#error_message(value) ⇒ String
Generate error message for invalid integer
52 53 54 |
# File 'lib/lutaml/xsd/validation/base_types/integer_validator.rb', line 52 def (value) "Value '#{value}' is not a valid integer" end |
#valid?(value) ⇒ Boolean
Validate value is a valid integer
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/lutaml/xsd/validation/base_types/integer_validator.rb', line 31 def valid?(value) return false if value.nil? return true if value.is_a?(Integer) str = to_string(value).strip return false if str.empty? # Check pattern first for performance return false unless str.match?(INTEGER_PATTERN) # Verify it can be parsed as Integer Integer(str) true rescue ArgumentError, TypeError false end |