module Zerobounce::Request::V1Request

Request methods specific to V1 of the API.

Constants

VALID_GET_PARAMS

Valid v1 get query params

Public Instance Methods

validate(params) click to toggle source

Validate the email address.

@param [Hash] params @option params [String] :email @option params [String] :ip_address @option params [String] :apikey @return [Zerobounce::Response]

# File lib/zerobounce/request/v1_request.rb, line 17
def validate(params)
  if params.key?(:ipaddress) || params.key?(:ip_address)
    validate_with_ip(params)
  else
    Response.new(get('validate', params), self)
  end
end
validate_with_ip(params) click to toggle source

Validate the email address and get geoip info for the IP.

@param [Hash] params @option params [String] :email @option params [String] :ip_address @option params [String] :apikey @return [Zerobounce::Response]

# File lib/zerobounce/request/v1_request.rb, line 32
def validate_with_ip(params)
  Response.new(get('validatewithip', params), self)
end

Private Instance Methods

get_params(params) click to toggle source

@param [Hash] params @return [Hash]

# File lib/zerobounce/request/v1_request.rb, line 40
def get_params(params)
  params[:ipaddress] = params.delete(:ip_address) if params.key?(:ip_address) # normalize ipaddress key
  params[:apikey] = params.delete(:api_key) if params.key?(:api_key) # normalize apikey param
  { apikey: Zerobounce.config.apikey }.merge(params.select { |k, _| VALID_GET_PARAMS.include?(k) })
end