bank_lookup 0.2.0 → 0.2.1
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.
- data/.gitignore +1 -0
- data/Gemfile +5 -1
- data/data/db.txt +1273 -1405
- data/lib/bank_lookup.rb +9 -0
- data/lib/bank_lookup/version.rb +1 -1
- data/spec/api_spec.rb +59 -0
- data/spec/bank_lookup_spec.rb +11 -0
- data/spec/spec_helper.rb +17 -0
- metadata +33 -10
data/lib/bank_lookup.rb
CHANGED
@@ -32,8 +32,17 @@ module BankLookup
|
|
32
32
|
end
|
33
33
|
|
34
34
|
class API < Sinatra::Base
|
35
|
+
before do
|
36
|
+
content_type :json
|
37
|
+
end
|
38
|
+
|
35
39
|
# GET /bank_name?number=23413421
|
36
40
|
get '/bank_name' do
|
41
|
+
if params['number'].nil?
|
42
|
+
halt 400, MultiJson.encode(:error => '"number" param is required')
|
43
|
+
end
|
44
|
+
params['number'].strip!
|
45
|
+
|
37
46
|
number = params['number']
|
38
47
|
if name = DB[number]
|
39
48
|
MultiJson.encode({:name => name, :pretty_name => name.titleize})
|
data/lib/bank_lookup/version.rb
CHANGED
data/spec/api_spec.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BankLookup::API, 'GET /bank_name' do
|
4
|
+
def app
|
5
|
+
BankLookup::API.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def get(url)
|
9
|
+
Rack::MockRequest.new(app).get(url)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "when passed a number that exists in the db" do
|
13
|
+
it 'responds with 200' do
|
14
|
+
get("/bank_name?number=011000015").status.should == 200
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'responds with json content type' do
|
18
|
+
get("/bank_name?number=011000015").content_type.should =~ /json/
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'responds with name and pretty name keys' do
|
22
|
+
data = MultiJson.decode(get("/bank_name?number=011000015").body)
|
23
|
+
data.should have_key 'name'
|
24
|
+
data.should have_key 'pretty_name'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'strips whitespace from the front' do
|
28
|
+
get("/bank_name?number=%20011000015").status.should == 200
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'strips whitespace from the end' do
|
32
|
+
get("/bank_name?number=011000015%20").status.should == 200
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'when passed a number that does not exist' do
|
37
|
+
it 'responds with 404' do
|
38
|
+
get('/bank_name?number=234').status.should == 404
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'responds with json' do
|
42
|
+
get('/bank_name?number=234').content_type.should =~ /json/
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'when not passed a number param' do
|
47
|
+
it 'responds with 400' do
|
48
|
+
get('/bank_name').status.should == 400
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'responds with an error message' do
|
52
|
+
MultiJson.decode(get('/bank_name').body).should == {'error' => '"number" param is required'}
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'responds with a text content type' do
|
56
|
+
get('/bank_name').content_type.should =~ /json/
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BankLookup::DB do
|
4
|
+
it 'allows looking up a number with a string number' do
|
5
|
+
BankLookup::DB['011000015'].should == 'FEDERAL RESERVE BANK'
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'does not allow looking up a number with an int number' do
|
9
|
+
BankLookup::DB[011000015].should be_nil
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
ENV['RACK_ENV'] ||= 'test'
|
5
|
+
|
6
|
+
$:.push File.dirname(File.expand_path(__FILE__))
|
7
|
+
$:.push(File.join(File.dirname(File.expand_path(__FILE__)), '..', 'lib'))
|
8
|
+
|
9
|
+
require 'bank_lookup'
|
10
|
+
|
11
|
+
Bundler.setup :default, :test
|
12
|
+
Bundler.require :default, :test
|
13
|
+
|
14
|
+
BankLookup::Parser.parse
|
15
|
+
|
16
|
+
RSpec.configure do |c|
|
17
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bank_lookup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-03-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: sinatra
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ! '>='
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: '0'
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: activesupport
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ! '>='
|
@@ -44,7 +54,12 @@ dependencies:
|
|
44
54
|
version: '0'
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
48
63
|
description: Lookup bank names by routing number.
|
49
64
|
email:
|
50
65
|
- ajsharp@gmail.com
|
@@ -54,6 +69,7 @@ executables:
|
|
54
69
|
extensions: []
|
55
70
|
extra_rdoc_files: []
|
56
71
|
files:
|
72
|
+
- .gitignore
|
57
73
|
- Gemfile
|
58
74
|
- README.md
|
59
75
|
- bank_lookup.gemspec
|
@@ -62,6 +78,9 @@ files:
|
|
62
78
|
- examples/config.ru
|
63
79
|
- lib/bank_lookup.rb
|
64
80
|
- lib/bank_lookup/version.rb
|
81
|
+
- spec/api_spec.rb
|
82
|
+
- spec/bank_lookup_spec.rb
|
83
|
+
- spec/spec_helper.rb
|
65
84
|
homepage: https://github.com/zaarly/bank_lookup
|
66
85
|
licenses: []
|
67
86
|
post_install_message:
|
@@ -82,8 +101,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
101
|
version: '0'
|
83
102
|
requirements: []
|
84
103
|
rubyforge_project: bank_lookup
|
85
|
-
rubygems_version: 1.8.
|
104
|
+
rubygems_version: 1.8.24
|
86
105
|
signing_key:
|
87
106
|
specification_version: 3
|
88
107
|
summary: Lookup bank names by routing number.
|
89
|
-
test_files:
|
108
|
+
test_files:
|
109
|
+
- spec/api_spec.rb
|
110
|
+
- spec/bank_lookup_spec.rb
|
111
|
+
- spec/spec_helper.rb
|
112
|
+
has_rdoc:
|