class Metropol::Client
Public Class Methods
new(public_key:, private_key:, port: nil, api_version: nil)
click to toggle source
# File lib/metropol/client.rb, line 8 def initialize(public_key:, private_key:, port: nil, api_version: nil) @public_key = public_key @private_key = private_key @port = port @api_version = api_version end
Public Instance Methods
credit_score(id_type: nil, id_number: nil)
click to toggle source
# File lib/metropol/client.rb, line 27 def credit_score(id_type: nil, id_number: nil) payload = {report_type: 3} path = 'score/consumer' fetch(path, payload, id_type, id_number) end
delinquency_status(loan_amount: 0, id_type: nil, id_number: nil)
click to toggle source
# File lib/metropol/client.rb, line 21 def delinquency_status(loan_amount: 0, id_type: nil, id_number: nil) payload = {report_type: 2, loan_amount: loan_amount} path = 'delinquency/status' fetch(path, payload, id_type, id_number) end
json_report(loan_amount: 0, report_reason: 1, id_type: nil, id_number: nil)
click to toggle source
# File lib/metropol/client.rb, line 33 def json_report(loan_amount: 0, report_reason: 1, id_type: nil, id_number: nil) payload = {report_type: 8, loan_amount: loan_amount, report_reason: report_reason} path = 'report/credit_info' fetch(path, payload, id_type, id_number) end
noncredit_data(id_type: nil, id_number: nil)
click to toggle source
# File lib/metropol/client.rb, line 39 def noncredit_data(id_type: nil, id_number: nil) payload = {report_type: 6} path = 'identity/scrub' fetch(path, payload, id_type, id_number) end
verify(id_type: nil, id_number: nil)
click to toggle source
# File lib/metropol/client.rb, line 15 def verify(id_type: nil, id_number: nil) payload = {report_type: 1} path = 'identity/verify' fetch(path, payload, id_type, id_number) end
Private Instance Methods
fetch(path, payload, id_type, id_number)
click to toggle source
If a valid ID Type and number are given then returns a JSON object with the response payload. Else returns a Metropol::Request
object that needs the ID Type and number data added to its payload
# File lib/metropol/client.rb, line 51 def fetch(path, payload, id_type, id_number) request = unsent_request(path, payload) if has_id_info? id_type, id_number return request.send(id_type, id_number) end request end
has_id_info?(id_type, id_number)
click to toggle source
# File lib/metropol/client.rb, line 70 def has_id_info?(id_type, id_number) valid_id?(id_type) && !(id_number.nil?) end
unsent_request(path, payload)
click to toggle source
# File lib/metropol/client.rb, line 61 def unsent_request(path, payload) Request.new(public_key: @public_key, private_key: @private_key, path: path, port: @port, api_version: @api_version, payload: payload) end