Method: CommandMapper::Types::Hex#validate

Defined in:
lib/command_mapper/types/hex.rb

#validate(value) ⇒ true, (false, String)

Validates a value.



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/command_mapper/types/hex.rb', line 48

def validate(value)
  case value
  when String
    unless value =~ /\A(?:0x)?[A-Fa-f0-9]+\z/
      return [false, "not in hex format (#{value.inspect})"]
    end

    if @range
      unless @range.include?(value.to_i(16))
        return [false, "unacceptable value (#{value.inspect})"]
      end
    end

    return true
  else
    super(value)
  end
end