ncua 0.7.2 → 0.8.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 +4 -0
- data/lib/ncua.rb +1 -0
- data/lib/ncua/credit_union/details_client.rb +36 -0
- data/lib/ncua/credit_union/scraper.rb +1 -10
- data/lib/ncua/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7239d68f260fe6848f3bb85f19e6f51815531635
|
4
|
+
data.tar.gz: b690ef06d9dd96db0af6e6e1e47fd1035f0b506f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df38dffc69a867b8240e751452cfcbe75d55ca20dae4f5fb809dda1c28cc06d15eefe6f26bedd54d871f06ddf3dce6d33439cafd925669cb2bf7e7aa1fdfac9e
|
7
|
+
data.tar.gz: b721282110eb5cd8a98a292c0900d850af75da2ad2a7b4f76445edc8bee671b9e67ff4bd60e42e934843bafe90cd1c91369baa596e71180bee9bc9d71e710989
|
data/README.md
CHANGED
@@ -108,6 +108,10 @@ Right now, an `NCUA::CreditUnion::Details` object has the following getters:
|
|
108
108
|
|
109
109
|
You can also scrape this directly from the NCUA module by calling `NCUA.find_credit_union(charter_number)`
|
110
110
|
|
111
|
+
If you pass `nil` into this method, it will raise an `ArgumentError`. The NCUA will actually return a 200 without a charter number, but the data on the page is blank.
|
112
|
+
|
113
|
+
If for some reason the NCUA returns a 500 error when directly scraping for credit union details, the gem will raise `NCUA::CreditUnion::ServerError`. This can happen if your charter number is invalid.
|
114
|
+
|
111
115
|
## Contributing
|
112
116
|
|
113
117
|
Bug reports and pull requests are welcome on GitHub at https://github.com/ContinuityControl/ncua.
|
data/lib/ncua.rb
CHANGED
@@ -6,6 +6,7 @@ require 'ncua/credit_union/record'
|
|
6
6
|
require 'ncua/credit_union/office'
|
7
7
|
require 'ncua/credit_union/details'
|
8
8
|
require 'ncua/credit_union/scraper'
|
9
|
+
require 'ncua/credit_union/details_client'
|
9
10
|
|
10
11
|
module NCUA
|
11
12
|
def self.find_office_by_address(address, opts={radius: 100})
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module NCUA
|
2
|
+
module CreditUnion
|
3
|
+
class ServerError < ::StandardError; end
|
4
|
+
class DetailsClient
|
5
|
+
include HTTParty
|
6
|
+
|
7
|
+
base_uri 'http://mapping.ncua.gov'
|
8
|
+
def get_details(charter_number)
|
9
|
+
if charter_number.nil?
|
10
|
+
raise ArgumentError, "charter number cannot be nil"
|
11
|
+
end
|
12
|
+
|
13
|
+
response = execute_query(charter_number)
|
14
|
+
|
15
|
+
case response.code
|
16
|
+
when 200...300
|
17
|
+
response
|
18
|
+
when 500...600
|
19
|
+
raise ServerError
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def endpoint
|
26
|
+
'/SingleResult.aspx'
|
27
|
+
end
|
28
|
+
|
29
|
+
def execute_query(charter_number)
|
30
|
+
self.class.get(endpoint, query: {
|
31
|
+
"ID" => charter_number
|
32
|
+
})
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -2,9 +2,6 @@ module NCUA
|
|
2
2
|
module CreditUnion
|
3
3
|
class Scraper
|
4
4
|
#This bit is as brittle as glass, as coupled as conjoined twins, and as stinky as bad cheese
|
5
|
-
include HTTParty
|
6
|
-
|
7
|
-
base_uri 'http://mapping.ncua.gov'
|
8
5
|
def initialize(charter_number)
|
9
6
|
@charter_number = charter_number
|
10
7
|
end
|
@@ -36,13 +33,7 @@ module NCUA
|
|
36
33
|
end
|
37
34
|
|
38
35
|
def request
|
39
|
-
|
40
|
-
"ID" => @charter_number
|
41
|
-
})
|
42
|
-
end
|
43
|
-
|
44
|
-
def endpoint
|
45
|
-
'/SingleResult.aspx'
|
36
|
+
@request ||= DetailsClient.new.get_details(@charter_number)
|
46
37
|
end
|
47
38
|
end
|
48
39
|
end
|
data/lib/ncua/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ncua
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Reznick
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/ncua.rb
|
106
106
|
- lib/ncua/client.rb
|
107
107
|
- lib/ncua/credit_union/details.rb
|
108
|
+
- lib/ncua/credit_union/details_client.rb
|
108
109
|
- lib/ncua/credit_union/office.rb
|
109
110
|
- lib/ncua/credit_union/record.rb
|
110
111
|
- lib/ncua/credit_union/scraper.rb
|