class CustomerScore::Client
Public Class Methods
new()
click to toggle source
# File lib/customer_score.rb, line 7 def initialize() @default_url = "http://not_real.com/customer_scoring" end
Public Instance Methods
get_score(income, zipcode, age)
click to toggle source
# File lib/customer_score.rb, line 11 def get_score(income, zipcode, age) return "Please provide a valid income (no commas or decimals)" unless income.to_s !~ /\d+[,.]\d+/ return "Please provide a valid 6 or 10 digit zipcode" if zipcode.to_s !~ /^\d{5}(-\d{4})?$/ return "Please provide a valid age" unless age.to_s !~ /\d+[,.]\d+/ url = "#{@default_url}?income=#{income}&zipcode=#{zipcode}&age=#{age}" case status = get_status(url) when 200 return Unirest.get(url).body when 404 raise ResourceNotFound, "The specified resource does not exist" when 500 raise InternalError, "The server encountered an internal error, please retry the request" else raise "Error, your request was not completed" end end
get_status(url)
click to toggle source
# File lib/customer_score.rb, line 31 def get_status(url) Unirest.get(url).code end