geocodio-ocd 1.7.0

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.
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