class Lutaml::Model::Type::Integer
def self.cast(value)
def self.cast(value) return nil if value.nil? return 1 if value === true return 0 if value === false case value when ::String if value.match?(/^0[0-7]+$/) # Octal value.to_i(8) elsif value.match?(/^-?\d+(\.\d+)?(e-?\d+)?$/i) # Float/exponential Float(value).to_i else begin Integer(value, 10) rescue StandardError nil end end else begin Integer(value) rescue StandardError nil end end end