geocodio-ocd 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/lib/geocodio/address.rb +114 -0
  3. data/lib/geocodio/address_set.rb +48 -0
  4. data/lib/geocodio/canadian/electoral_district_base.rb +21 -0
  5. data/lib/geocodio/canadian/electoral_districts.rb +23 -0
  6. data/lib/geocodio/canadian/federal_electoral_district.rb +12 -0
  7. data/lib/geocodio/canadian/provincial_electoral_district.rb +6 -0
  8. data/lib/geocodio/canadian.rb +14 -0
  9. data/lib/geocodio/client/error.rb +15 -0
  10. data/lib/geocodio/client/response.rb +13 -0
  11. data/lib/geocodio/client.rb +155 -0
  12. data/lib/geocodio/congressional_district.rb +30 -0
  13. data/lib/geocodio/legislator.rb +69 -0
  14. data/lib/geocodio/school_district.rb +15 -0
  15. data/lib/geocodio/state_legislative_district.rb +16 -0
  16. data/lib/geocodio/timezone.rb +16 -0
  17. data/lib/geocodio/utils.rb +43 -0
  18. data/lib/geocodio/version.rb +13 -0
  19. data/lib/geocodio.rb +9 -0
  20. data/spec/address_set_spec.rb +31 -0
  21. data/spec/address_spec.rb +235 -0
  22. data/spec/canadian_spec.rb +77 -0
  23. data/spec/client_spec.rb +196 -0
  24. data/spec/congressional_district_spec.rb +45 -0
  25. data/spec/legislator_spec.rb +116 -0
  26. data/spec/school_district_spec.rb +27 -0
  27. data/spec/spec_helper.rb +25 -0
  28. data/spec/state_legislative_district_spec.rb +43 -0
  29. data/spec/timezone_spec.rb +23 -0
  30. data/spec/vcr_cassettes/alaska_geocode_with_fields.yml +68 -0
  31. data/spec/vcr_cassettes/batch_geocode.yml +83 -0
  32. data/spec/vcr_cassettes/batch_geocode_with_bad_address.yml +61 -0
  33. data/spec/vcr_cassettes/batch_geocode_with_fields.yml +121 -0
  34. data/spec/vcr_cassettes/batch_reverse.yml +181 -0
  35. data/spec/vcr_cassettes/batch_reverse_with_fields.yml +384 -0
  36. data/spec/vcr_cassettes/canadian.yml +101 -0
  37. data/spec/vcr_cassettes/geocode.yml +61 -0
  38. data/spec/vcr_cassettes/geocode_bad_address.yml +53 -0
  39. data/spec/vcr_cassettes/geocode_with_fields.yml +71 -0
  40. data/spec/vcr_cassettes/geocode_with_fields_legacy.yml +91 -0
  41. data/spec/vcr_cassettes/geocode_with_postdirectional.yml +61 -0
  42. data/spec/vcr_cassettes/invalid_key.yml +59 -0
  43. data/spec/vcr_cassettes/parse.yml +51 -0
  44. data/spec/vcr_cassettes/reverse.yml +97 -0
  45. data/spec/vcr_cassettes/reverse_with_fields.yml +163 -0
  46. data/spec/vcr_cassettes/reverse_with_fields_no_house_info.yml +138 -0
  47. metadata +189 -0
@@ -0,0 +1,181 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.geocod.io/v1.7/reverse?api_key=secret_api_key
6
+ body:
7
+ encoding: UTF-8
8
+ string: '["37.331669,-122.03074","34.145760590909,-118.15204363636","37.7815,-122.404933"]'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ User-Agent:
15
+ - Ruby
16
+ Content-Type:
17
+ - application/json
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Content-Type:
24
+ - application/json
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Cache-Control:
28
+ - no-cache, private
29
+ Date:
30
+ - Tue, 05 Jul 2022 22:21:44 GMT
31
+ X-Billable-Lookups-Count:
32
+ - '3'
33
+ X-Billable-Fields-Count:
34
+ - '0'
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Methods:
38
+ - GET, POST
39
+ Access-Control-Allow-Headers:
40
+ - Content-Type, User-Agent
41
+ Access-Control-Expose-Headers:
42
+ - Request-Handler
43
+ Request-Handler:
44
+ - api228
45
+ Server:
46
+ - Unicorns with magic wands (https://www.geocod.io)
47
+ X-Request-Id:
48
+ - 6167D31F:FDFE_05A15419:0050_62C4B978_5436A:3D82
49
+ Connection:
50
+ - close
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"results":[{"query":"37.331669,-122.03074","response":{"results":[{"address_components":{"number":"10700","street":"DE
54
+ Anza","suffix":"Blvd","formatted_street":"DE Anza Blvd","city":"Cupertino","county":"Santa
55
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10700
56
+ DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.331693,"lng":-122.030057},"accuracy":0.99,"accuracy_type":"rooftop","source":"Santa
57
+ Clara"},{"address_components":{"number":"10700","predirectional":"N","street":"DE
58
+ Anza","suffix":"Blvd","formatted_street":"N DE Anza Blvd","city":"Cupertino","county":"Santa
59
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10700
60
+ N DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.331966,"lng":-122.030416},"accuracy":0.98,"accuracy_type":"rooftop","source":"City
61
+ of Cupertino"},{"address_components":{"number":"1","street":"Infinite","suffix":"Loop","formatted_street":"Infinite
62
+ Loop","city":"Cupertino","county":"Santa Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"1
63
+ Infinite Loop, Cupertino, CA 95014","location":{"lat":37.331524,"lng":-122.030231},"accuracy":0.98,"accuracy_type":"rooftop","source":"City
64
+ of Cupertino"},{"address_components":{"number":"10690","predirectional":"N","street":"DE
65
+ Anza","suffix":"Blvd","formatted_street":"N DE Anza Blvd","city":"Cupertino","county":"Santa
66
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10690
67
+ N DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.331177,"lng":-122.031641},"accuracy":0.97,"accuracy_type":"rooftop","source":"Santa
68
+ Clara"},{"address_components":{"number":"10856","predirectional":"N","street":"DE
69
+ Anza","suffix":"Blvd","formatted_street":"N DE Anza Blvd","city":"Cupertino","county":"Santa
70
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10856
71
+ N DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.33182,"lng":-122.03239},"accuracy":0.94,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
72
+ dataset from the US Census Bureau"},{"address_components":{"number":"10826","predirectional":"N","street":"DE
73
+ Anza","suffix":"Blvd","formatted_street":"N DE Anza Blvd","city":"Cupertino","county":"Santa
74
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10826
75
+ N DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.33122,"lng":-122.03238},"accuracy":0.94,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
76
+ dataset from the US Census Bureau"},{"address_components":{"number":"10748","predirectional":"N","street":"DE
77
+ Anza","suffix":"Blvd","formatted_street":"N DE Anza Blvd","city":"Cupertino","county":"Santa
78
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"10748
79
+ N DE Anza Blvd, Cupertino, CA 95014","location":{"lat":37.330219,"lng":-122.03238},"accuracy":0.93,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
80
+ dataset from the US Census Bureau"},{"address_components":{"number":"91","street":"Infinite","suffix":"Loop","formatted_street":"Infinite
81
+ Loop","city":"Cupertino","county":"Santa Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"91
82
+ Infinite Loop, Cupertino, CA 95014","location":{"lat":37.332709,"lng":-122.03071},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
83
+ dataset from the US Census Bureau"},{"address_components":{"number":"19118","street":"Mariani","suffix":"Ave","formatted_street":"Mariani
84
+ Ave","city":"Cupertino","county":"Santa Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"19118
85
+ Mariani Ave, Cupertino, CA 95014","location":{"lat":37.330489,"lng":-122.0305},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
86
+ dataset from the US Census Bureau"},{"address_components":{"number":"19479","street":"Mariani","suffix":"Ave","formatted_street":"Mariani
87
+ Ave","city":"Cupertino","county":"Santa Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"19479
88
+ Mariani Ave, Cupertino, CA 95014","location":{"lat":37.330519,"lng":-122.03008},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
89
+ dataset from the US Census Bureau"},{"address_components":{"number":"19116","street":"Mariani","suffix":"Ave","formatted_street":"Mariani
90
+ Ave","city":"Cupertino","county":"Santa Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"19116
91
+ Mariani Ave, Cupertino, CA 95014","location":{"lat":37.330407,"lng":-122.030873},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
92
+ dataset from the US Census Bureau"},{"address_components":{"number":"20500","street":"Valley
93
+ Green","suffix":"Dr","formatted_street":"Valley Green Dr","city":"Cupertino","county":"Santa
94
+ Clara County","state":"CA","zip":"95014","country":"US"},"formatted_address":"20500
95
+ Valley Green Dr, Cupertino, CA 95014","location":{"lat":37.33182,"lng":-122.03239},"accuracy":0.42,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
96
+ dataset from the US Census Bureau"}]}},{"query":"34.145760590909,-118.15204363636","response":{"results":[{"address_components":{"number":"10","predirectional":"S","street":"DE
97
+ Lacey","suffix":"Ave","formatted_street":"S DE Lacey Ave","city":"Pasadena","county":"Los
98
+ Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"10
99
+ S DE Lacey Ave, Pasadena, CA 91105","location":{"lat":34.145373,"lng":-118.151925},"accuracy":0.99,"accuracy_type":"rooftop","source":"Los
100
+ Angeles"},{"address_components":{"number":"58","predirectional":"W","street":"Colorado","suffix":"Blvd","formatted_street":"W
101
+ Colorado Blvd","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"58
102
+ W Colorado Blvd, Pasadena, CA 91105","location":{"lat":34.145373,"lng":-118.151925},"accuracy":0.99,"accuracy_type":"rooftop","source":"Los
103
+ Angeles"},{"address_components":{"number":"69","street":"Mc Cormick","suffix":"Aly","formatted_street":"Mc
104
+ Cormick Aly","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"69
105
+ Mc Cormick Aly, Pasadena, CA 91105","location":{"lat":34.145373,"lng":-118.151925},"accuracy":0.99,"accuracy_type":"rooftop","source":"Los
106
+ Angeles"},{"address_components":{"number":"60","predirectional":"W","street":"Colorado","suffix":"Blvd","formatted_street":"W
107
+ Colorado Blvd","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"60
108
+ W Colorado Blvd, Pasadena, CA 91105","location":{"lat":34.145373,"lng":-118.151925},"accuracy":0.99,"accuracy_type":"rooftop","source":"Los
109
+ Angeles"},{"address_components":{"number":"68","predirectional":"W","street":"Colorado","suffix":"Blvd","formatted_street":"W
110
+ Colorado Blvd","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"68
111
+ W Colorado Blvd, Pasadena, CA 91105","location":{"lat":34.145373,"lng":-118.151925},"accuracy":0.99,"accuracy_type":"rooftop","source":"Los
112
+ Angeles"},{"address_components":{"number":"1","predirectional":"N","street":"DE
113
+ Lacey","suffix":"Ave","formatted_street":"N DE Lacey Ave","city":"Pasadena","county":"Los
114
+ Angeles County","state":"CA","zip":"91103","country":"US"},"formatted_address":"1
115
+ N DE Lacey Ave, Pasadena, CA 91103","location":{"lat":34.145759,"lng":-118.15223},"accuracy":0.98,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
116
+ dataset from the US Census Bureau"},{"address_components":{"number":"1","predirectional":"S","street":"DE
117
+ Lacey","suffix":"Ave","formatted_street":"S DE Lacey Ave","city":"Pasadena","county":"Los
118
+ Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"1
119
+ S DE Lacey Ave, Pasadena, CA 91105","location":{"lat":34.145759,"lng":-118.15223},"accuracy":0.98,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
120
+ dataset from the US Census Bureau"},{"address_components":{"number":"22","predirectional":"S","street":"DE
121
+ Lacey","suffix":"Ave","formatted_street":"S DE Lacey Ave","city":"Pasadena","county":"Los
122
+ Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"22
123
+ S DE Lacey Ave, Pasadena, CA 91105","location":{"lat":34.145407,"lng":-118.152227},"accuracy":0.97,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
124
+ dataset from the US Census Bureau"},{"address_components":{"number":"25","predirectional":"N","street":"DE
125
+ Lacey","suffix":"Ave","formatted_street":"N DE Lacey Ave","city":"Pasadena","county":"Los
126
+ Angeles County","state":"CA","zip":"91103","country":"US"},"formatted_address":"25
127
+ N DE Lacey Ave, Pasadena, CA 91103","location":{"lat":34.146409,"lng":-118.152234},"accuracy":0.96,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
128
+ dataset from the US Census Bureau"},{"address_components":{"number":"85","predirectional":"W","street":"Colorado","suffix":"Blvd","formatted_street":"W
129
+ Colorado Blvd","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"85
130
+ W Colorado Blvd, Pasadena, CA 91105","location":{"lat":34.145759,"lng":-118.15223},"accuracy":0.47,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
131
+ dataset from the US Census Bureau"},{"address_components":{"number":"1","street":"Fraser","suffix":"Aly","formatted_street":"Fraser
132
+ Aly","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"1
133
+ Fraser Aly, Pasadena, CA 91105","location":{"lat":34.145407,"lng":-118.152227},"accuracy":0.46,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
134
+ dataset from the US Census Bureau"},{"address_components":{"number":"43","predirectional":"W","street":"Colorado","suffix":"Blvd","formatted_street":"W
135
+ Colorado Blvd","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91105","country":"US"},"formatted_address":"43
136
+ W Colorado Blvd, Pasadena, CA 91105","location":{"lat":34.145766,"lng":-118.15141},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
137
+ dataset from the US Census Bureau"},{"address_components":{"number":"100","street":"Christiansen","suffix":"Aly","formatted_street":"Christiansen
138
+ Aly","city":"Pasadena","county":"Los Angeles County","state":"CA","zip":"91103","country":"US"},"formatted_address":"100
139
+ Christiansen Aly, Pasadena, CA 91103","location":{"lat":34.146409,"lng":-118.152234},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
140
+ dataset from the US Census Bureau"}]}},{"query":"37.7815,-122.404933","response":{"results":[{"address_components":{"number":"906","street":"Howard","suffix":"St","formatted_street":"Howard
141
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"906
142
+ Howard St, San Francisco, CA 94103","location":{"lat":37.781471,"lng":-122.405246},"accuracy":1,"accuracy_type":"rooftop","source":"San
143
+ Francisco"},{"address_components":{"number":"194","street":"5th","suffix":"St","formatted_street":"5th
144
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"194
145
+ 5th St, San Francisco, CA 94103","location":{"lat":37.781466,"lng":-122.405248},"accuracy":1,"accuracy_type":"rooftop","source":"San
146
+ Francisco"},{"address_components":{"number":"198","street":"5th","suffix":"St","formatted_street":"5th
147
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"198
148
+ 5th St, San Francisco, CA 94103","location":{"lat":37.781467,"lng":-122.405249},"accuracy":1,"accuracy_type":"rooftop","source":"San
149
+ Francisco"},{"address_components":{"number":"206","street":"5th","suffix":"St","formatted_street":"5th
150
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"206
151
+ 5th St, San Francisco, CA 94103","location":{"lat":37.781187,"lng":-122.404925},"accuracy":0.99,"accuracy_type":"rooftop","source":"San
152
+ Francisco"},{"address_components":{"number":"901","street":"Howard","suffix":"St","formatted_street":"Howard
153
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"901
154
+ Howard St, San Francisco, CA 94103","location":{"lat":37.781185,"lng":-122.404921},"accuracy":0.99,"accuracy_type":"rooftop","source":"San
155
+ Francisco"},{"address_components":{"number":"900","street":"Howard","suffix":"St","formatted_street":"Howard
156
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"900
157
+ Howard St, San Francisco, CA 94103","location":{"lat":37.7815,"lng":-122.404933},"accuracy":0.5,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
158
+ dataset from the US Census Bureau"},{"address_components":{"number":"227","street":"5th","suffix":"St","formatted_street":"5th
159
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"227
160
+ 5th St, San Francisco, CA 94103","location":{"lat":37.781076,"lng":-122.404404},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
161
+ dataset from the US Census Bureau"},{"address_components":{"number":"400","street":"Tehama","suffix":"St","formatted_street":"Tehama
162
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"400
163
+ Tehama St, San Francisco, CA 94103","location":{"lat":37.781076,"lng":-122.404404},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
164
+ dataset from the US Census Bureau"},{"address_components":{"number":"177","street":"5th","suffix":"St","formatted_street":"5th
165
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"177
166
+ 5th St, San Francisco, CA 94103","location":{"lat":37.781925,"lng":-122.405466},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
167
+ dataset from the US Census Bureau"},{"address_components":{"number":"400","street":"Natoma","suffix":"St","formatted_street":"Natoma
168
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"400
169
+ Natoma St, San Francisco, CA 94103","location":{"lat":37.781925,"lng":-122.405466},"accuracy":0.45,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
170
+ dataset from the US Census Bureau"},{"address_components":{"number":"928","street":"Howard","suffix":"St","formatted_street":"Howard
171
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"928
172
+ Howard St, San Francisco, CA 94103","location":{"lat":37.780878,"lng":-122.405719},"accuracy":0.44,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
173
+ dataset from the US Census Bureau"},{"address_components":{"number":"80","street":"Mary","suffix":"St","formatted_street":"Mary
174
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"80
175
+ Mary St, San Francisco, CA 94103","location":{"lat":37.781306,"lng":-122.406248},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
176
+ dataset from the US Census Bureau"},{"address_components":{"number":"432","street":"Natoma","suffix":"St","formatted_street":"Natoma
177
+ St","city":"San Francisco","county":"San Francisco County","state":"CA","zip":"94103","country":"US"},"formatted_address":"432
178
+ Natoma St, San Francisco, CA 94103","location":{"lat":37.781306,"lng":-122.406248},"accuracy":0.43,"accuracy_type":"nearest_street","source":"TIGER\/Line\u00ae
179
+ dataset from the US Census Bureau"}]}}]}'
180
+ recorded_at: Tue, 05 Jul 2022 22:21:44 GMT
181
+ recorded_with: VCR 6.1.0