class Biro::CredDefense::Request

Public Instance Methods

development_url() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 11
def development_url
  'https://test.creddefense.com/index.php/api/v2'
end
find(document) click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 19
def find(document)
  params = {
    authentication: { token: token },
    advancedsearch: { identifier_code: document }
  }

  begin
    response = RestClient.post(search_path, params.to_json, headers)
    Response.new(response)
  rescue => e
    Biro.log(:warn, "Unable to process CredDefense request")
    raise "Error at CredDefense request: #{e.message}"
  end
end
production_url() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 7
def production_url
  'https://www.creddefense.com/index.php/api/v2'
end
required_params() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 15
def required_params
  [:username, :password]
end

Private Instance Methods

get_token() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 48
def get_token
  auth = { authentication: { username: @username, password: @password } }
  response = JSON.parse(RestClient.post(login_path, auth.to_json, headers).body)

  raise AuthenticationError.new('Invalid authentication credentials') unless success?(response)

  response.dig('authentication', 'token')
end
headers() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 61
def headers
  {
    'Accept' => 'application/json',
    'Content-Type' => 'application/json'
  }
end
login_path() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 36
def login_path
  url + '/login'
end
search_path() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 40
def search_path
  url + '/advancedsearch'
end
success?(response) click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 57
def success?(response)
  response['result'] == 'success'
end
token() click to toggle source
# File lib/biro/gateways/cred_defense/request.rb, line 44
def token
  @token ||= get_token
end