consumer_score 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/consumer_score.rb +17 -30
  2. metadata +1 -1
@@ -1,41 +1,28 @@
1
1
  require 'net/http'
2
2
  require 'json'
3
- require 'fakeweb'
4
-
5
- FakeWeb.register_uri(:get, "http://internal.leapfrogonline.com/customer_scoring?income=50000&zipcode=60201&age=35",
6
- :body => {'propensity' => 0.26532, 'ranking' => 'C' }.to_json,
7
- :status => ["200", "OK"])
8
3
 
9
4
  class ConsumerScore
10
- attr_accessor :propensity, :ranking
11
- attr_reader :income, :zip_code, :age, :request_uri
12
-
13
- def initialize(income, zip_code, age)
14
- @income = income
15
- @zip_code = zip_code
16
- @age = age
17
- @propensity = nil
18
- @ranking = nil
19
- end
20
-
21
- def build_request
22
- URI("http://internal.leapfrogonline.com/customer_scoring?income=#{income}&zipcode=#{zip_code}&age=#{age}")
23
- end
24
5
 
25
- def update_self(score_data)
26
- self.propensity = score_data["propensity"]
27
- self.ranking = score_data["ranking"]
28
- end
6
+ def self.get_score(income, zip_code, age)
7
+ raise StandardError.new("Income must be a number") if income.is_a?(Fixnum) == false
8
+ raise StandardError.new("Zip Code must be a number") if zip_code.is_a?(Fixnum) == false
9
+ raise StandardError.new("Age must be a number") if age.is_a?(Fixnum) == false
10
+
11
+ request = build_request(income,zip_code,age)
12
+ response = Net::HTTP.get_response(request)
29
13
 
30
- def get_score
31
- response = Net::HTTP.get_response(build_request)
32
- p response
33
14
  case response.code
34
15
  when "200" then
35
16
  score = JSON.parse(response.body)
36
- update_self(score)
37
- score
38
- else response.code + ": " + response.message
17
+ else StandardError.new(response.code + ": " + response.message)
39
18
  end
40
19
  end
41
- end
20
+
21
+ private
22
+
23
+ def self.build_request(income, zip_code, age)
24
+ URI("http://internal.leapfrogonline.com/customer_scoring?income=#{income}&zipcode=#{zip_code}&age=#{age}")
25
+ end
26
+
27
+ end
28
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consumer_score
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: