class Minfraud::Request

Constants

FIELD_MAP

Public Class Methods

get(trans) click to toggle source

(see get) @param trans [Transaction] transaction to get to MaxMind

# File lib/minfraud/request.rb, line 50
def self.get(trans)
  new(trans).get
end
new(trans) click to toggle source

@param trans [Transaction] transaction to be sent to MaxMind

# File lib/minfraud/request.rb, line 38
def initialize(trans)
  @transaction = trans
end

Public Instance Methods

get() click to toggle source

Sends transaction to MaxMind and gives raw response to Response for handling @return [Response] wrapper for minFraud response

# File lib/minfraud/request.rb, line 44
def get
  Response.new(send_get_request)
end

Private Instance Methods

encoded_query() click to toggle source

Transforms Transaction object into a hash for Net::HTTP::Get @return [Hash] keys are strings with minFraud field names

# File lib/minfraud/request.rb, line 58
def encoded_query
  Hash[@transaction.attributes.map { |k, v| [FIELD_MAP[k], v] }]
end
send_get_request() click to toggle source

@return [Net::HTTPResponse]

# File lib/minfraud/request.rb, line 63
def send_get_request
  uri = Minfraud.uri
  uri.query = URI.encode_www_form(encoded_query)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Get.new(uri.request_uri)
  http.request(request)
end