fips_lookup 0.3.0 → 0.4
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile.lock +37 -30
- data/README.md +78 -140
- data/lib/data/subdivision/CT.csv +0 -4
- data/lib/data/subdivision/GU.csv +0 -1
- data/lib/data/subdivision/IL.csv +0 -2
- data/lib/data/subdivision/IN.csv +0 -2
- data/lib/data/subdivision/MA.csv +0 -6
- data/lib/data/subdivision/MI.csv +0 -40
- data/lib/data/subdivision/MN.csv +0 -3
- data/lib/data/subdivision/MP.csv +0 -4
- data/lib/data/subdivision/NH.csv +0 -1
- data/lib/data/subdivision/NJ.csv +0 -5
- data/lib/data/subdivision/NY.csv +0 -9
- data/lib/data/subdivision/OH.csv +0 -5
- data/lib/data/subdivision/PA.csv +0 -1
- data/lib/data/subdivision/PR.csv +0 -38
- data/lib/data/subdivision/RI.csv +0 -1
- data/lib/data/subdivision/VI.csv +0 -3
- data/lib/data/subdivision/WI.csv +0 -12
- data/lib/fips/county.rb +112 -0
- data/lib/fips/state.rb +67 -0
- data/lib/fips/subdivision.rb +163 -0
- data/lib/fips/version.rb +5 -0
- data/lib/fips.rb +68 -0
- data/sig/fips.rbs +50 -0
- metadata +38 -9
- data/lib/fips_lookup/county.rb +0 -65
- data/lib/fips_lookup/state.rb +0 -46
- data/lib/fips_lookup/subdivision.rb +0 -48
- data/lib/fips_lookup/version.rb +0 -5
- data/lib/fips_lookup.rb +0 -25
- data/sig/fips_lookup.rbs +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 96b11bfc0f893fe1907cbb0d86fb03c0081a831359dc8336401494063e0ed7df
|
|
4
|
+
data.tar.gz: 12c271c09b928147cd361d83dcfa72cfcb237a23bd6ea6c5d9ac8d386ddcbb7f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5d9e9e713c4ae1a97367ccdf9ae56cd5cf603ea15ceadc3e42050294c13862bb1020794d3afbd42d0061a0da52b832d27d4cf8041111435f4e1c52a32aad3cd9
|
|
7
|
+
data.tar.gz: 35edf97cebb07a23676c7090605740d14a923a4a917eaf80b0fbca2d39f59629df188d86f59b435b01708b570ab3394b08c593f8cb16415824deeebac122cc41
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,79 +1,85 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fips_lookup (0.
|
|
4
|
+
fips_lookup (0.4)
|
|
5
5
|
csv (~> 3.0)
|
|
6
|
+
zeitwerk (~> 2.8)
|
|
6
7
|
|
|
7
8
|
GEM
|
|
8
9
|
remote: https://rubygems.org/
|
|
9
10
|
specs:
|
|
10
|
-
ast (2.4.
|
|
11
|
+
ast (2.4.3)
|
|
12
|
+
benchmark (0.5.0)
|
|
11
13
|
csv (3.3.6)
|
|
12
|
-
diff-lcs (1.
|
|
14
|
+
diff-lcs (1.6.2)
|
|
13
15
|
erb (6.0.7)
|
|
14
|
-
io-console (0.9.
|
|
16
|
+
io-console (0.9.4)
|
|
15
17
|
irb (1.18.0)
|
|
16
18
|
pp (>= 0.6.0)
|
|
17
19
|
prism (>= 1.3.0)
|
|
18
20
|
rdoc (>= 4.0.0)
|
|
19
21
|
reline (>= 0.4.2)
|
|
20
|
-
json (
|
|
21
|
-
language_server-protocol (3.17.0.
|
|
22
|
+
json (3.1.0)
|
|
23
|
+
language_server-protocol (3.17.0.6)
|
|
24
|
+
lint_roller (1.1.0)
|
|
22
25
|
logger (1.7.0)
|
|
23
26
|
ostruct (0.6.3)
|
|
24
|
-
parallel (
|
|
25
|
-
parser (3.3.0
|
|
27
|
+
parallel (2.3.0)
|
|
28
|
+
parser (3.3.12.0)
|
|
26
29
|
ast (~> 2.4.1)
|
|
27
30
|
racc
|
|
28
31
|
pp (0.6.4)
|
|
29
32
|
prettyprint
|
|
30
|
-
prettyprint (0.2.
|
|
33
|
+
prettyprint (0.2.1)
|
|
31
34
|
prism (1.9.0)
|
|
32
|
-
racc (1.
|
|
35
|
+
racc (1.8.1)
|
|
33
36
|
rainbow (3.1.1)
|
|
34
|
-
rake (13.
|
|
37
|
+
rake (13.4.2)
|
|
35
38
|
rbs (4.2.0)
|
|
36
39
|
logger
|
|
37
40
|
prism (>= 1.6.0)
|
|
38
41
|
tsort
|
|
39
|
-
rdoc (8.
|
|
42
|
+
rdoc (8.1.0)
|
|
40
43
|
erb
|
|
41
44
|
prism (>= 1.6.0)
|
|
42
45
|
rbs (>= 4.0.0)
|
|
43
46
|
tsort
|
|
44
|
-
regexp_parser (2.
|
|
47
|
+
regexp_parser (2.13.1)
|
|
45
48
|
reline (0.7.0)
|
|
46
49
|
io-console (~> 0.5)
|
|
47
|
-
|
|
48
|
-
rspec (3.13.0)
|
|
50
|
+
rspec (3.13.2)
|
|
49
51
|
rspec-core (~> 3.13.0)
|
|
50
52
|
rspec-expectations (~> 3.13.0)
|
|
51
53
|
rspec-mocks (~> 3.13.0)
|
|
52
|
-
rspec-core (3.13.
|
|
54
|
+
rspec-core (3.13.6)
|
|
53
55
|
rspec-support (~> 3.13.0)
|
|
54
|
-
rspec-expectations (3.13.
|
|
56
|
+
rspec-expectations (3.13.5)
|
|
55
57
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
56
58
|
rspec-support (~> 3.13.0)
|
|
57
|
-
rspec-mocks (3.13.
|
|
59
|
+
rspec-mocks (3.13.8)
|
|
58
60
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
59
61
|
rspec-support (~> 3.13.0)
|
|
60
|
-
rspec-support (3.13.
|
|
61
|
-
rubocop (1.
|
|
62
|
-
json (
|
|
63
|
-
language_server-protocol (
|
|
64
|
-
|
|
62
|
+
rspec-support (3.13.7)
|
|
63
|
+
rubocop (1.92.0)
|
|
64
|
+
json (>= 2.3)
|
|
65
|
+
language_server-protocol (~> 3.17.0.2)
|
|
66
|
+
lint_roller (~> 1.1.0)
|
|
67
|
+
parallel (>= 1.10)
|
|
65
68
|
parser (>= 3.3.0.2)
|
|
66
69
|
rainbow (>= 2.2.2, < 4.0)
|
|
67
|
-
regexp_parser (>=
|
|
68
|
-
|
|
69
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
|
70
|
+
regexp_parser (>= 2.11.3, < 3.0)
|
|
71
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
70
72
|
ruby-progressbar (~> 1.7)
|
|
71
|
-
unicode-display_width (>= 2.4.0, <
|
|
72
|
-
rubocop-ast (1.
|
|
73
|
-
parser (>= 3.3.
|
|
73
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
74
|
+
rubocop-ast (1.50.0)
|
|
75
|
+
parser (>= 3.3.7.2)
|
|
76
|
+
prism (~> 1.7)
|
|
74
77
|
ruby-progressbar (1.13.0)
|
|
75
78
|
tsort (0.2.0)
|
|
76
|
-
unicode-display_width (
|
|
79
|
+
unicode-display_width (3.3.0)
|
|
80
|
+
unicode-emoji (~> 4.3)
|
|
81
|
+
unicode-emoji (4.3.0)
|
|
82
|
+
zeitwerk (2.8.3)
|
|
77
83
|
|
|
78
84
|
PLATFORMS
|
|
79
85
|
arm64-darwin-21
|
|
@@ -81,6 +87,7 @@ PLATFORMS
|
|
|
81
87
|
arm64-darwin-25
|
|
82
88
|
|
|
83
89
|
DEPENDENCIES
|
|
90
|
+
benchmark (~> 0.2)
|
|
84
91
|
fips_lookup!
|
|
85
92
|
irb
|
|
86
93
|
ostruct
|
data/README.md
CHANGED
|
@@ -1,198 +1,136 @@
|
|
|
1
|
-
#
|
|
1
|
+
# FIPS Lookup
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Fips_lookup is a gem that functions as a lookup used to identify county and state FIPS codes.
|
|
6
|
-
|
|
7
|
-
What are FIPS codes? The United States Federal Communications Commission (FCC) [says:](https://transition.fcc.gov/oet/info/maps/census/fips/fips.txt)
|
|
8
|
-
|
|
9
|
-
> Federal Information Processing System (FIPS) Codes for States and Counties
|
|
10
|
-
>
|
|
11
|
-
> FIPS codes are numbers which uniquely identify geographic areas. The number of
|
|
12
|
-
digits in FIPS codes vary depending on the level of geography. State-level FIPS
|
|
13
|
-
codes have two digits, county-level FIPS codes have five digits of which the
|
|
14
|
-
first two are the FIPS code of the state to which the county belongs.
|
|
15
|
-
|
|
16
|
-
_Note:_ FIPS codes are updated by the US census department they can be seen and accessed [here](https://www.census.gov/library/reference/code-lists/ansi.html).
|
|
17
|
-
|
|
18
|
-
<br>
|
|
19
|
-
|
|
20
|
-
**Interesting challenge:** <br>
|
|
21
|
-
Multiple states can have the same county name — 16 states have a "Wayne County". This means a state & county pair is required to lookup and return the proper FIPS code.
|
|
22
|
-
This gem utilizes memoization to increase lookup efficiency to csv files without adding complexity to your app.
|
|
3
|
+
`fips_lookup` provides lookups for U.S. states, counties, and county subdivisions using Census FIPS identifiers and names. Results are hashes containing the fields for the requested geography. Lookup data is stored in CSVs, loaded into memory per state, indexed/memoized then searched at runtime.
|
|
23
4
|
|
|
24
5
|
## Installation
|
|
25
6
|
|
|
26
|
-
Add
|
|
7
|
+
Add the gem to your application's Gemfile:
|
|
27
8
|
|
|
28
9
|
```ruby
|
|
29
|
-
gem
|
|
10
|
+
gem "fips_lookup"
|
|
30
11
|
```
|
|
31
12
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
$ bundle install
|
|
35
|
-
|
|
36
|
-
Or install it yourself as:
|
|
37
|
-
|
|
38
|
-
$ gem install fips_lookup
|
|
13
|
+
Then run `bundle install`.
|
|
39
14
|
|
|
40
15
|
## Usage
|
|
41
|
-
<br>
|
|
42
|
-
|
|
43
|
-
### County info from lookup: [.county(state_param: "state", county_param: "county name", _return_nil: false_)](/fips_lookup/lib/fips_lookup.rb?#L24)
|
|
44
16
|
|
|
45
|
-
|
|
17
|
+
Require the gem if your application does not use Bundler's automatic loading:
|
|
46
18
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
FipsLookup.county(state_param: "AL", county_param: "Autauga County") # => {:state_code=>"AL", :fips=>"01001", :name=>"Autauga County", :class_code=>"H1"}
|
|
19
|
+
```ruby
|
|
20
|
+
require "fips"
|
|
50
21
|
```
|
|
51
22
|
|
|
52
|
-
|
|
53
|
-
* `county_param` - (String) must match spelling set by US Census Bureau, [resource library](https://www.census.gov/library/reference/code-lists/ansi.html)
|
|
54
|
-
— "Autauga County" can be found, "Autauga" can not be found.
|
|
55
|
-
* `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns an empty hash `{}`.
|
|
56
|
-
* Ex: `FipsLookup.county(state_param: "AL", county_param: "Autauga", return_nil: true) # => {}`
|
|
57
|
-
|
|
58
|
-
* Ex: Access the [:fips] symbol after a lookup `FipsLookup.county(state_param: "AL", county_param: "Autauga", return_nil: true)[:fips] # => nil`
|
|
23
|
+
### General lookup
|
|
59
24
|
|
|
60
|
-
|
|
25
|
+
`FIPS.lookup` dispatches to the state, county, or subdivision lookup based on the supplied identifiers:
|
|
61
26
|
|
|
62
|
-
|
|
27
|
+
```ruby
|
|
28
|
+
FIPS.lookup(fips: "02")
|
|
29
|
+
# => { fips: "02", abbr: "AK", name: "Alaska", ansi: "01785533" }
|
|
63
30
|
|
|
64
|
-
|
|
31
|
+
FIPS.lookup(fips: "02060")
|
|
32
|
+
# => county record for Bristol Bay Borough
|
|
65
33
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
FipsLookup.county_fips # => { ["AL", "Autauga County"] => {:state_code=>"AL", :fips=>"01001", :name=>"Autauga County", :class_code=>"H1"} }
|
|
69
|
-
```
|
|
70
|
-
<br>
|
|
71
|
-
<hr>
|
|
34
|
+
FIPS.lookup(fips: "0206009050")
|
|
35
|
+
# => subdivision record for Bristol Bay census subarea
|
|
72
36
|
|
|
73
|
-
|
|
37
|
+
FIPS.lookup(state: "Alaska", county: "Bristol Bay Borough")
|
|
38
|
+
# => county record for Bristol Bay Borough
|
|
74
39
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
40
|
+
FIPS.lookup(state: "Alaska", county: "Bristol Bay Borough",
|
|
41
|
+
subdivision: "Bristol Bay census subarea")
|
|
42
|
+
# => subdivision record for Bristol Bay census subarea
|
|
78
43
|
```
|
|
79
44
|
|
|
80
|
-
|
|
81
|
-
* `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns `nil`.
|
|
82
|
-
* Ex: `FipsLookup.fips_county(fips: "03000", return_nil: true) # => nil`
|
|
45
|
+
FIPS codes must be strings so leading zeroes are preserved. The general dispatcher supports state FIPS (2 digits), county FIPS (5 digits), and full subdivision FIPS (10 digits). Contextual forms are also available through the specific lookup methods below.
|
|
83
46
|
|
|
84
|
-
|
|
85
|
-
<hr>
|
|
47
|
+
### State lookup
|
|
86
48
|
|
|
87
|
-
|
|
49
|
+
```ruby
|
|
50
|
+
FIPS::State.lookup(fips: "02")
|
|
51
|
+
FIPS::State.lookup(state: "AK")
|
|
52
|
+
FIPS::State.lookup(state: "Alaska")
|
|
53
|
+
FIPS::State.lookup(state: "01785533") # ANSI code
|
|
54
|
+
```
|
|
88
55
|
|
|
89
|
-
|
|
56
|
+
The returned state hash has `:fips`, `:abbr`, `:name`, and `:ansi` keys. `FIPS::State.all` returns all state records in the same format:
|
|
90
57
|
|
|
58
|
+
```ruby
|
|
59
|
+
FIPS::State.all.map { |state| [state[:name], state[:abbr]] }
|
|
91
60
|
```
|
|
92
|
-
FipsLookup.state(state_param: "01") # => {:fips=>"01", :code=>"AL", :name=>"Alabama", :ansi=>"01779775"}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
* `state_param` - (String) flexible - able to find the state using its' 2 letter abbreviation ("AL"), 2 digit FIPS number ("01"), state name ("Alabama"), or the state ANSI code ("01779775").
|
|
96
|
-
* `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns an empty hash `{}`.
|
|
97
61
|
|
|
98
|
-
|
|
62
|
+
### County lookup
|
|
99
63
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
64
|
+
```ruby
|
|
65
|
+
FIPS::County.lookup(fips: "02060")
|
|
66
|
+
FIPS::County.lookup(fips: "060", state: "AK")
|
|
67
|
+
FIPS::County.lookup(fips: "02", county: "Bristol Bay Borough")
|
|
68
|
+
FIPS::County.lookup(state: "Alaska", county: "Bristol Bay Borough")
|
|
105
69
|
```
|
|
106
|
-
<br>
|
|
107
|
-
<hr>
|
|
108
70
|
|
|
109
|
-
|
|
71
|
+
The returned county hash has `:state_abbr`, `:fips`, `:gnis`, `:name`, `:class_code`, and `:status` keys. State identifiers may be an abbreviation, name, FIPS code, or ANSI code.
|
|
110
72
|
|
|
111
|
-
|
|
112
|
-
* `return_nil` - (Boolean) is an optional parameter that when used overrides any Errors from input and returns nil.
|
|
73
|
+
To list counties in a state, use `FIPS::County.all`:
|
|
113
74
|
|
|
114
|
-
```
|
|
115
|
-
|
|
75
|
+
```ruby
|
|
76
|
+
counties = FIPS::County.all(state: "AK")
|
|
77
|
+
county_names = counties.map { |county| county[:name] }
|
|
116
78
|
```
|
|
117
79
|
|
|
118
|
-
|
|
119
|
-
<hr>
|
|
80
|
+
### Subdivision lookup
|
|
120
81
|
|
|
121
|
-
|
|
82
|
+
```ruby
|
|
83
|
+
FIPS::Subdivision.lookup(fips: "0206009050")
|
|
84
|
+
FIPS::Subdivision.lookup(fips: "09050", state: "AK")
|
|
85
|
+
FIPS::Subdivision.lookup(fips: "02060", subdivision: "Bristol Bay census subarea")
|
|
86
|
+
FIPS::Subdivision.lookup(fips: "060", state: "AK",
|
|
87
|
+
subdivision: "Bristol Bay census subarea")
|
|
88
|
+
FIPS::Subdivision.lookup(state: "Alaska", county: "Bristol Bay Borough",
|
|
89
|
+
subdivision: "Bristol Bay census subarea")
|
|
90
|
+
```
|
|
122
91
|
|
|
123
|
-
|
|
92
|
+
The returned subdivision hash has `:state_abbr`, `:fips`, `:county_name`, `:gnis`, `:name`, `:class_code`, and `:status` keys. To retrieve subdivision records for a state, optionally filtered by county:
|
|
124
93
|
|
|
125
|
-
|
|
94
|
+
```ruby
|
|
95
|
+
FIPS::Subdivision.all(state: "AK")
|
|
96
|
+
FIPS::Subdivision.all(state: "AK", county: "Bristol Bay Borough")
|
|
97
|
+
```
|
|
126
98
|
|
|
127
|
-
|
|
99
|
+
County and subdivision name matching is case-insensitive. State identifiers accept abbreviations, names, FIPS codes, and ANSI codes.
|
|
128
100
|
|
|
129
|
-
|
|
130
|
-
# in controller.rb
|
|
131
|
-
@state_options = []
|
|
132
|
-
CSV.foreach(FipsLookup.state_file) do |state_row|
|
|
133
|
-
@state_options << [state_row[2], state_row[1]]
|
|
134
|
-
end
|
|
135
|
-
```
|
|
101
|
+
### Source data
|
|
136
102
|
|
|
137
|
-
|
|
138
|
-
# in html.erb (within `form_with do |form|` block)
|
|
139
|
-
<%= form.label :state, style: "display: block" %>
|
|
140
|
-
<%= form.select :state, @state_options %>
|
|
141
|
-
```
|
|
103
|
+
The raw text files are retained under `source_data/` for building and auditing CSV files. They are development inputs, are not used at runtime, and are not included in the published gem. Runtime lookups read through the CSV files on a per state occurrence.
|
|
142
104
|
|
|
143
|
-
|
|
105
|
+
CSV files used and published within the gem are stored within `lib/data/` and can be generated by running `bin/transcribe/parse_counties` and `bin/transcribe/parse_subdivisions`
|
|
144
106
|
|
|
145
|
-
|
|
107
|
+
### Errors
|
|
146
108
|
|
|
147
|
-
|
|
109
|
+
Malformed or insufficient inputs raise `ArgumentError`. Validly formatted identifiers that do not match a record raise `FIPS::NotFoundError`, a subclass of `StandardError`:
|
|
148
110
|
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
@county_options << county_row[3]
|
|
111
|
+
```ruby
|
|
112
|
+
begin
|
|
113
|
+
FIPS::County.lookup(fips: "02999")
|
|
114
|
+
rescue FIPS::NotFoundError => error
|
|
115
|
+
warn error.message
|
|
155
116
|
end
|
|
156
117
|
```
|
|
157
118
|
|
|
158
|
-
```
|
|
159
|
-
# in html.erb (within `form_with do |form|` block)
|
|
160
|
-
<%= form.label :county, style: "display: block" %>
|
|
161
|
-
<%= form.select :county, @county_options %>
|
|
162
|
-
```
|
|
163
|
-
|
|
164
119
|
## Development
|
|
165
120
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
Check installation and any changes by running `rspec` to run the tests.
|
|
169
|
-
|
|
170
|
-
Use `bin/console` to open IRB console with FIPS gem included and ready to use.
|
|
171
|
-
|
|
172
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
173
|
-
|
|
174
|
-
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 the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
121
|
+
Install dependencies with `bin/setup`. Run tests and lint with:
|
|
175
122
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
#### New to this gem?
|
|
182
|
-
|
|
183
|
-
* The main working file is `lib/fips_lookup.rb` with usage examples in the test file: `spec/fips_lookup_spec.rb`
|
|
184
|
-
* [The first pull request](https://github.com/3barroso/fips_lookup/pull/1) contains more details to decisions and considerations when first launching gem.
|
|
123
|
+
```sh
|
|
124
|
+
bundle exec rspec
|
|
125
|
+
bundle exec rubocop
|
|
126
|
+
```
|
|
185
127
|
|
|
128
|
+
Open an IRB console with `bin/console`. Install locally with `bundle exec rake install`.
|
|
186
129
|
|
|
187
130
|
## Contributing
|
|
188
131
|
|
|
189
|
-
Bug reports and pull requests are welcome
|
|
190
|
-
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/3barroso/fips_lookup/blob/main/CODE_OF_CONDUCT.md).
|
|
132
|
+
Bug reports and pull requests are welcome in the [FIPS repository](https://github.com/3barroso/fips_lookup). Contributors are expected to follow the [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
191
133
|
|
|
192
134
|
## License
|
|
193
135
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## Code of Conduct
|
|
197
|
-
|
|
198
|
-
Everyone interacting in the FIPS project's codebase, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/3barroso/fips_lookup/blob/main/CODE_OF_CONDUCT.md).
|
|
136
|
+
This gem is available under the terms of the MIT License. See [LICENSE.txt](LICENSE.txt).
|
data/lib/data/subdivision/CT.csv
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
CT,09,001,Fairfield County,00000,00000000,County subdivisions not defined,Z9,F
|
|
2
1
|
CT,09,001,Fairfield County,04720,00213390,Bethel town,T1,A
|
|
3
2
|
CT,09,001,Fairfield County,08070,00213396,Bridgeport town,T5,C
|
|
4
3
|
CT,09,001,Fairfield County,08980,00213399,Brookfield town,T1,A
|
|
@@ -77,7 +76,6 @@ CT,09,005,Litchfield County,79720,00213524,Washington town,T1,A
|
|
|
77
76
|
CT,09,005,Litchfield County,80490,00213527,Watertown town,T1,A
|
|
78
77
|
CT,09,005,Litchfield County,86440,00213536,Winchester town,T1,A
|
|
79
78
|
CT,09,005,Litchfield County,87910,00213540,Woodbury town,T1,A
|
|
80
|
-
CT,09,007,Middlesex County,00000,00000000,County subdivisions not defined,Z9,F
|
|
81
79
|
CT,09,007,Middlesex County,14300,00213407,Chester town,T1,A
|
|
82
80
|
CT,09,007,Middlesex County,15350,00213408,Clinton town,T1,A
|
|
83
81
|
CT,09,007,Middlesex County,18080,00213414,Cromwell town,T1,A
|
|
@@ -93,7 +91,6 @@ CT,09,007,Middlesex County,47360,00213461,Middletown town,T5,C
|
|
|
93
91
|
CT,09,007,Middlesex County,57320,00213484,Old Saybrook town,T1,A
|
|
94
92
|
CT,09,007,Middlesex County,61800,00213491,Portland town,T1,A
|
|
95
93
|
CT,09,007,Middlesex County,81680,00213528,Westbrook town,T1,A
|
|
96
|
-
CT,09,009,New Haven County,00000,00000000,County subdivisions not defined,Z9,F
|
|
97
94
|
CT,09,009,New Haven County,01220,00213383,Ansonia town,T5,C
|
|
98
95
|
CT,09,009,New Haven County,03250,00213387,Beacon Falls town,T1,A
|
|
99
96
|
CT,09,009,New Haven County,04580,00213389,Bethany town,T1,A
|
|
@@ -121,7 +118,6 @@ CT,09,009,New Haven County,80070,00213525,Waterbury town,T5,C
|
|
|
121
118
|
CT,09,009,New Haven County,82870,00213530,West Haven town,T5,C
|
|
122
119
|
CT,09,009,New Haven County,87560,00213538,Wolcott town,T1,A
|
|
123
120
|
CT,09,009,New Haven County,87700,00213539,Woodbridge town,T1,A
|
|
124
|
-
CT,09,011,New London County,00000,00000000,County subdivisions not defined,Z9,F
|
|
125
121
|
CT,09,011,New London County,06820,00213394,Bozrah town,T1,A
|
|
126
122
|
CT,09,011,New London County,15910,00213409,Colchester town,T1,A
|
|
127
123
|
CT,09,011,New London County,23400,00213426,East Lyme town,T1,A
|
data/lib/data/subdivision/GU.csv
CHANGED
data/lib/data/subdivision/IL.csv
CHANGED
|
@@ -212,7 +212,6 @@ IL,17,029,Coles County,54014,00429462,North Okaw township,T1,A
|
|
|
212
212
|
IL,17,029,Coles County,57615,00429527,Paradise township,T1,A
|
|
213
213
|
IL,17,029,Coles County,60469,00429577,Pleasant Grove township,T1,A
|
|
214
214
|
IL,17,029,Coles County,68718,00427931,Seven Hickory township,T1,A
|
|
215
|
-
IL,17,031,Cook County,00000,00000000,County subdivisions not defined,Z9,F
|
|
216
215
|
IL,17,031,Cook County,03831,00428638,Barrington township,T1,A
|
|
217
216
|
IL,17,031,Cook County,05586,00428666,Berwyn township,T5,B
|
|
218
217
|
IL,17,031,Cook County,06561,00428682,Bloom township,T1,A
|
|
@@ -725,7 +724,6 @@ IL,17,095,Knox County,71435,00429782,Sparta township,T1,A
|
|
|
725
724
|
IL,17,095,Knox County,76303,00429845,Truro township,T1,A
|
|
726
725
|
IL,17,095,Knox County,77824,00429871,Victoria township,T1,A
|
|
727
726
|
IL,17,095,Knox County,78565,00429888,Walnut Grove township,T1,A
|
|
728
|
-
IL,17,097,Lake County,00000,00000000,County subdivisions not defined,Z9,F
|
|
729
727
|
IL,17,097,Lake County,01608,00428594,Antioch township,T1,A
|
|
730
728
|
IL,17,097,Lake County,03220,00428626,Avon township,T1,A
|
|
731
729
|
IL,17,097,Lake County,05326,00428660,Benton township,T1,A
|
data/lib/data/subdivision/IN.csv
CHANGED
|
@@ -504,7 +504,6 @@ IN,18,087,LaGrange County,49338,00453625,Milford township,T1,A
|
|
|
504
504
|
IN,18,087,LaGrange County,52686,00453661,Newbury township,T1,A
|
|
505
505
|
IN,18,087,LaGrange County,72152,00453866,Springfield township,T1,A
|
|
506
506
|
IN,18,087,LaGrange County,78506,00453948,Van Buren township,T1,A
|
|
507
|
-
IN,18,089,Lake County,00000,00000000,County subdivisions not defined,Z9,F
|
|
508
507
|
IN,18,089,Lake County,09820,00453154,Calumet township,T1,A
|
|
509
508
|
IN,18,089,Lake County,11026,00453171,Cedar Creek township,T1,A
|
|
510
509
|
IN,18,089,Lake County,11476,00453184,Center township,T1,A
|
|
@@ -714,7 +713,6 @@ IN,18,125,Pike County,47016,00453611,Marion township,T1,A
|
|
|
714
713
|
IN,18,125,Pike County,50418,00453644,Monroe township,T1,A
|
|
715
714
|
IN,18,125,Pike County,58356,00453710,Patoka township,T1,A
|
|
716
715
|
IN,18,125,Pike County,80936,00454013,Washington township,T1,A
|
|
717
|
-
IN,18,127,Porter County,00000,00000000,County subdivisions not defined,Z9,F
|
|
718
716
|
IN,18,127,Porter County,06580,00453130,Boone township,T1,A
|
|
719
717
|
IN,18,127,Porter County,11566,00453189,Center township,T1,A
|
|
720
718
|
IN,18,127,Porter County,37314,00453461,Jackson township,T1,A
|
data/lib/data/subdivision/MA.csv
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
MA,25,001,Barnstable County,00000,00000000,County subdivisions not defined,Z9,F
|
|
2
1
|
MA,25,001,Barnstable County,03690,00618248,Barnstable Town city,C5,F
|
|
3
2
|
MA,25,001,Barnstable County,07175,00619412,Bourne town,T1,A
|
|
4
3
|
MA,25,001,Barnstable County,07980,00618249,Brewster town,T1,A
|
|
@@ -46,7 +45,6 @@ MA,25,003,Berkshire County,73335,00618275,Washington town,T1,A
|
|
|
46
45
|
MA,25,003,Berkshire County,77990,00618276,West Stockbridge town,T1,A
|
|
47
46
|
MA,25,003,Berkshire County,79985,00619430,Williamstown town,T1,A
|
|
48
47
|
MA,25,003,Berkshire County,80685,00619431,Windsor town,T1,A
|
|
49
|
-
MA,25,005,Bristol County,00000,00000000,County subdivisions not defined,Z9,F
|
|
50
48
|
MA,25,005,Bristol County,00520,01729673,Acushnet town,T1,A
|
|
51
49
|
MA,25,005,Bristol County,02690,00618278,Attleboro city,C5,F
|
|
52
50
|
MA,25,005,Bristol County,05280,00619432,Berkley town,T1,A
|
|
@@ -74,7 +72,6 @@ MA,25,007,Dukes County,26325,00618290,Gosnold town,T1,A
|
|
|
74
72
|
MA,25,007,Dukes County,50390,00619442,Oak Bluffs town,T1,A
|
|
75
73
|
MA,25,007,Dukes County,69940,00619443,Tisbury town,T1,A
|
|
76
74
|
MA,25,007,Dukes County,78235,00618291,West Tisbury town,T1,A
|
|
77
|
-
MA,25,009,Essex County,00000,00000000,County subdivisions not defined,Z9,F
|
|
78
75
|
MA,25,009,Essex County,01260,00618292,Amesbury Town city,C5,F
|
|
79
76
|
MA,25,009,Essex County,01465,00619444,Andover town,T1,A
|
|
80
77
|
MA,25,009,Essex County,05595,00618293,Beverly city,C5,F
|
|
@@ -232,7 +229,6 @@ MA,25,017,Middlesex County,77255,00618245,Weston town,T1,A
|
|
|
232
229
|
MA,25,017,Middlesex County,80230,00618246,Wilmington town,T1,A
|
|
233
230
|
MA,25,017,Middlesex County,80510,00618247,Winchester town,T1,A
|
|
234
231
|
MA,25,017,Middlesex County,81035,00619411,Woburn city,C5,F
|
|
235
|
-
MA,25,019,Nantucket County,00000,00000000,County subdivisions not defined,Z9,F
|
|
236
232
|
MA,25,019,Nantucket County,43790,00619376,Nantucket town,T1,A
|
|
237
233
|
MA,25,021,Norfolk County,02935,00618314,Avon town,T1,A
|
|
238
234
|
MA,25,021,Norfolk County,04930,00618315,Bellingham town,T1,A
|
|
@@ -262,7 +258,6 @@ MA,25,021,Norfolk County,74175,00618332,Wellesley town,T1,A
|
|
|
262
258
|
MA,25,021,Norfolk County,78690,00618333,Westwood town,T1,A
|
|
263
259
|
MA,25,021,Norfolk County,78972,00619462,Weymouth Town city,C5,F
|
|
264
260
|
MA,25,021,Norfolk County,82315,00618334,Wrentham town,T1,A
|
|
265
|
-
MA,25,023,Plymouth County,00000,00000000,County subdivisions not defined,Z9,F
|
|
266
261
|
MA,25,023,Plymouth County,00170,00618336,Abington town,T1,A
|
|
267
262
|
MA,25,023,Plymouth County,08130,00619466,Bridgewater Town city,C5,F
|
|
268
263
|
MA,25,023,Plymouth County,09000,00619467,Brockton city,C5,F
|
|
@@ -290,7 +285,6 @@ MA,25,023,Plymouth County,60330,00618352,Scituate town,T1,A
|
|
|
290
285
|
MA,25,023,Plymouth County,72985,00618353,Wareham town,T1,A
|
|
291
286
|
MA,25,023,Plymouth County,75260,00618354,West Bridgewater town,T1,A
|
|
292
287
|
MA,25,023,Plymouth County,79530,00618355,Whitman town,T1,A
|
|
293
|
-
MA,25,025,Suffolk County,00000,00000000,County subdivisions not defined,Z9,F
|
|
294
288
|
MA,25,025,Suffolk County,07000,00619463,Boston city,C5,F
|
|
295
289
|
MA,25,025,Suffolk County,13205,00619464,Chelsea city,C5,F
|
|
296
290
|
MA,25,025,Suffolk County,56585,00619465,Revere city,C5,F
|