Class: ConsumerScore

Inherits:
Object
  • Object
show all
Defined in:
lib/consumer_score.rb

Class Method Summary collapse

Class Method Details

.build_request(income, zip_code, age) ⇒ Object



31
32
33
# File 'lib/consumer_score.rb', line 31

def self.build_request(income, zip_code, age)
  URI("http://internal.leapfrogonline.com/customer_scoring?income=#{income}&zipcode=#{zip_code}&age=#{age}")
end

.get_score(income, zip_code, age) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/consumer_score.rb', line 16

def self.get_score(income, zip_code, age)
  raise ArgumentError.new("Income must be a number") if income.is_a?(Fixnum) == false
  raise ArgumentError.new("Zip Code must be be the correct format (60201 or 60201-1111)") if !zip_code.match(/\d{5}[- ]\d{4}|\d{5}/)
  raise ArgumentError.new("Age must be a number") if age.is_a?(Fixnum) == false

  request = build_request(income, zip_code, age)
  response = Net::HTTP.get_response(request)

  if response.kind_of?(Net::HTTPSuccess)
    score = JSON.parse(response.body)
  else 
    RequestError.new(response.code, response.message)
  end
end