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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d707135f37317df52ee72d93cc9704d9f89df9bd
4
- data.tar.gz: 3595a6b8902a39c96fbcd5085283814bb3672478
3
+ metadata.gz: f08c8c228668114a834da0d41b8eebf31a40a909
4
+ data.tar.gz: f70224278aa293022e5afd8fbf2ff84be51d3608
5
5
  SHA512:
6
- metadata.gz: b5ec966aeffeec97792a275130e0ae9def8d9335d71e56059bf0dea727dc40c5cc47466621b71720dcb9b24431f6f3fb6bca49a60c6107f214bc74fbfe1e802b
7
- data.tar.gz: b7d52e668ef2a11b57b7318d1e113122db000d2a869eba50a18df5e3b9134bdaed1de1db076ed8a609f4414a4391a416453d7ac0203abd6da1145eb4d5c259a1
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
- ## Testing
39
+ ## Development
40
40
 
41
- To run tests, run `rake spec` in your console.
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
@@ -1,6 +1 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
-
5
- RSpec::Core::RakeTask.new
6
- task :default => :spec
@@ -30,6 +30,4 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.add_dependency 'unirest', "~> 1.1.2"
33
- spec.add_development_dependency "webmock", "~> 1.14.0"
34
-
35
33
  end
@@ -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, "The specified resource does not exist"
16
+ raise ResourceNotFound, "Invalid URL"
17
+ when 422
18
+ raise InvalidInput, "Unprocessable Entity"
24
19
  when 500
25
- raise InternalError, "The server encountered an internal error, please retry the request"
20
+ raise InternalError, "Internal Server Error"
26
21
  else
27
- raise "Error, your request was not completed"
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
@@ -1,3 +1,3 @@
1
1
  module CustomerScore
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  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.2
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-18 00:00:00.000000000 Z
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