def validate_eui(eui)
if (eui.kind_of?(String))
if (eui =~ /[^0-9a-fA-F\.\-\:]/)
raise ValidationError, "#{eui} is invalid (contains invalid characters)."
end
if (eui =~ /\-/)
fields = eui.split('-')
if (fields.length != 6 && fields.length != 8)
raise ValidationError, "#{eui} is invalid (unrecognized formatting)."
end
fields.each {|x| raise ValidationError, "#{eui} is invalid (missing characters)." if (x.length != 2)}
elsif (eui =~ /\:/)
fields = eui.split(':')
if (fields.length != 6 && fields.length != 8)
raise ValidationError, "#{eui} is invalid (unrecognized formatting)."
end
fields.each {|x| raise ValidationError, "#{eui} is invalid (missing characters)." if (x.length != 2)}
elsif (eui =~ /\./)
fields = eui.split('.')
if (fields.length != 3 && fields.length != 4)
raise ValidationError, "#{eui} is invalid (unrecognized formatting)."
end
fields.each {|x| raise ValidationError, "#{eui} is invalid (missing characters)." if (x.length != 4)}
else
raise ValidationError, "#{eui} is invalid (unrecognized formatting)."
end
else
raise ArgumentError, "EUI address should be a String, but was a#{eui.class}."
end
return(true)
end