class MocaRlibs::GrapeValidators::IpAddress

数値の最小値をチェック

Public Instance Methods

validate_param!(attr_name, params) click to toggle source
# File lib/moca_rlibs/grape_validators/ip_address.rb, line 10
def validate_param!(attr_name, params)
  return if !@required && params[attr_name].blank?

  version = @option.instance_of?(Proc) ? @option.call(params) : @option
  value = params[attr_name].presence.to_s
  return if validate_ip(version, value)

  message = "invalid ip format: #{value}"
  raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
end

Private Instance Methods

validate_ip(version, value) click to toggle source
# File lib/moca_rlibs/grape_validators/ip_address.rb, line 23
def validate_ip(version, value)
  case version
  when :v4
    return true if ::Resolv::IPv4::Regex.match?(value)
  when :v6
    return true if ::Resolv::IPv6::Regex.match?(value)
  else
    return true if ::Resolv::IPv4::Regex.match?(value)
    return true if ::Resolv::IPv6::Regex.match?(value)
  end
  false
end