class Xhash::DatabaseLookup

Public Class Methods

renapo(curp) click to toggle source
# File lib/xhash/database_lookup.rb, line 3
def self.renapo(curp)
  url = 'database-lookup/renapo'
  body = { curp: curp }
  response = api_post(url: url, body: body)
  payload = response[:payload]

  if payload.nil?
    raise Xhash::MissingRequiredFieldError.new(
            {
              message: Xhash::ErrorMessage::MISSING_CURP, response: response
            }
          )
  end

  if payload[:name] == 'CURP INVALIDO'
    raise Xhash::InvalidFieldError.new(
            {
              message: Xhash::ErrorMessage::INVALID_CURP, response: response
            }
          )
  end

  Xhash::CURP.new(*payload.values_at(*Xhash::CURP.members))
end