customer_score 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -3
- data/Rakefile +0 -5
- data/customer_score.gemspec +0 -2
- data/lib/customer_score.rb +7 -17
- data/lib/customer_score/version.rb +1 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f08c8c228668114a834da0d41b8eebf31a40a909
|
4
|
+
data.tar.gz: f70224278aa293022e5afd8fbf2ff84be51d3608
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd9589c7151c80694fdfa0828d8f285e62184d0f6ee7f2049439f5a73ca8c64eeb3b8c976abb25c3cd2b082a0e51b44ba11c683bea8f690f97a3ee7bb2b74ab2
|
7
|
+
data.tar.gz: 390723c31409e765e94400f2d33217099fbcd854871140f673a723834e6e4003e2a17d017bf83890b351d36d61aa352c4998bbcdeec245a72897787705d322e6
|
data/README.md
CHANGED
@@ -32,13 +32,15 @@ To retrieve scoring advice for a customer based on their income, zipcode, and ag
|
|
32
32
|
|
33
33
|
````ruby
|
34
34
|
score = client.get_score("5000", "60201", "35")
|
35
|
-
#=> {:propensity => 0.26532, :ranking => "C"}
|
35
|
+
#=> "{:propensity => 0.26532, :ranking => "C"}"
|
36
36
|
```
|
37
37
|
|
38
38
|
|
39
|
-
##
|
39
|
+
## Development
|
40
40
|
|
41
|
-
|
41
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
42
|
+
|
43
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
42
44
|
|
43
45
|
## Contributing
|
44
46
|
|
data/Rakefile
CHANGED
data/customer_score.gemspec
CHANGED
data/lib/customer_score.rb
CHANGED
@@ -3,38 +3,28 @@ require "unirest"
|
|
3
3
|
|
4
4
|
module CustomerScore
|
5
5
|
class Client
|
6
|
-
|
7
6
|
def initialize()
|
8
7
|
@default_url = "http://not_real.com/customer_scoring"
|
9
8
|
end
|
10
9
|
|
11
10
|
def get_score(income, zipcode, age)
|
12
|
-
|
13
|
-
return "Please provide a valid income (no commas or decimals)" unless income.to_s !~ /\d+[,.]\d+/
|
14
|
-
return "Please provide a valid 6 or 10 digit zipcode" if zipcode.to_s !~ /^\d{5}(-\d{4})?$/
|
15
|
-
return "Please provide a valid age" unless age.to_s !~ /\d+[,.]\d+/
|
16
|
-
|
17
11
|
url = "#{@default_url}?income=#{income}&zipcode=#{zipcode}&age=#{age}"
|
18
|
-
|
19
|
-
case status = get_status(url)
|
12
|
+
case status = Unirest.get(url).code
|
20
13
|
when 200
|
21
14
|
return Unirest.get(url).body
|
22
15
|
when 404
|
23
|
-
raise ResourceNotFound, "
|
16
|
+
raise ResourceNotFound, "Invalid URL"
|
17
|
+
when 422
|
18
|
+
raise InvalidInput, "Unprocessable Entity"
|
24
19
|
when 500
|
25
|
-
raise InternalError, "
|
20
|
+
raise InternalError, "Internal Server Error"
|
26
21
|
else
|
27
|
-
raise "Error
|
22
|
+
raise "Error"
|
28
23
|
end
|
29
24
|
end
|
30
|
-
|
31
|
-
def get_status(url)
|
32
|
-
Unirest.get(url).code
|
33
|
-
end
|
34
|
-
|
35
25
|
end
|
36
26
|
|
37
27
|
class ResourceNotFound < Exception; end
|
28
|
+
class InvalidInput < Exception; end
|
38
29
|
class InternalError < Exception; end
|
39
|
-
|
40
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: customer_score
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zoe heins
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.1.2
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: webmock
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.14.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.14.0
|
69
55
|
description: Allows you to access scoring advice on customer
|
70
56
|
email:
|
71
57
|
- zcheins@gmail.com
|