geocodio-ocd 4.0.0 → 4.1.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.
- checksums.yaml +4 -4
- data/lib/geocodio/address.rb +5 -0
- data/lib/geocodio/client.rb +1 -1
- data/lib/geocodio/uk/district.rb +22 -0
- data/lib/geocodio/uk.rb +21 -0
- data/lib/geocodio/utils.rb +2 -2
- data/lib/geocodio/version.rb +1 -1
- data/spec/uk_district_spec.rb +218 -0
- data/spec/vcr_cassettes/alaska_geocode_with_fields.yml +1 -1
- data/spec/vcr_cassettes/batch_geocode.yml +1 -1
- data/spec/vcr_cassettes/batch_geocode_with_bad_address.yml +1 -1
- data/spec/vcr_cassettes/batch_geocode_with_fields.yml +1 -1
- data/spec/vcr_cassettes/batch_reverse.yml +1 -1
- data/spec/vcr_cassettes/batch_reverse_with_fields.yml +1 -1
- data/spec/vcr_cassettes/canadian.yml +1 -1
- data/spec/vcr_cassettes/geocode.yml +1 -1
- data/spec/vcr_cassettes/geocode_bad_address.yml +1 -1
- data/spec/vcr_cassettes/geocode_with_fields.yml +1 -1
- data/spec/vcr_cassettes/geocode_with_fields_legacy.yml +1 -1
- data/spec/vcr_cassettes/geocode_with_postdirectional.yml +1 -1
- data/spec/vcr_cassettes/invalid_key.yml +1 -1
- data/spec/vcr_cassettes/parse.yml +1 -1
- data/spec/vcr_cassettes/reverse.yml +1 -1
- data/spec/vcr_cassettes/reverse_with_fields.yml +1 -1
- data/spec/vcr_cassettes/reverse_with_fields_no_house_info.yml +1 -1
- metadata +29 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c56c6212667f8a77ab37bdabf69be51bc5948bcec6ffb92d1561aadfd2cc718
|
|
4
|
+
data.tar.gz: 7c4ef2c37c6761399dbdfa5cc01daddcdb085aa9fa6c441969e655417c85b5b8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1657153a49b427849b776c4139bece061dacb59c01b780720094312153c64c90db3be529953aa72411355f2f16509d1009321d83f383bf1c157f924fa2afa19d
|
|
7
|
+
data.tar.gz: 22a0b50714ff050b01a59c52c8aa3f3315ddf477a3d0cc311e6a2c61dffb2a6f1c5ae5de2ae383d598980e08fe797564f189953264ce1e6a14e57a8413be935a
|
data/lib/geocodio/address.rb
CHANGED
|
@@ -3,10 +3,13 @@ require 'geocodio/school_district'
|
|
|
3
3
|
require 'geocodio/state_legislative_district'
|
|
4
4
|
require 'geocodio/timezone'
|
|
5
5
|
require 'geocodio/canadian/electoral_districts'
|
|
6
|
+
require 'geocodio/uk'
|
|
6
7
|
|
|
7
8
|
module Geocodio
|
|
8
9
|
class Address
|
|
9
10
|
include Geocodio::Canadian
|
|
11
|
+
include Geocodio::UK
|
|
12
|
+
|
|
10
13
|
attr_reader :number, :predirectional, :street, :suffix, :postdirectional,
|
|
11
14
|
:formatted_street, :city, :state, :zip, :county
|
|
12
15
|
|
|
@@ -73,6 +76,8 @@ module Geocodio
|
|
|
73
76
|
if riding || provincial_riding
|
|
74
77
|
set_canadian_fields(riding, provincial_riding)
|
|
75
78
|
end
|
|
79
|
+
|
|
80
|
+
set_uk_fields(fields) if uk_fields?(fields)
|
|
76
81
|
end
|
|
77
82
|
|
|
78
83
|
def set_congressional_districts(districts)
|
data/lib/geocodio/client.rb
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Geocodio
|
|
2
|
+
module UK
|
|
3
|
+
class District
|
|
4
|
+
attr_reader :district_type, :gss_code, :ocd_id,
|
|
5
|
+
:name, :nation, :is_upcoming_district, :source
|
|
6
|
+
|
|
7
|
+
def initialize(payload = {})
|
|
8
|
+
@district_type = payload['district_type']
|
|
9
|
+
@gss_code = payload['gss_code']
|
|
10
|
+
@ocd_id = payload['ocd_id']
|
|
11
|
+
@name = payload['name']
|
|
12
|
+
@nation = payload['nation']
|
|
13
|
+
@is_upcoming_district = payload['is_upcoming_district']
|
|
14
|
+
@source = payload['source']
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def upcoming_district?
|
|
18
|
+
!!@is_upcoming_district
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
data/lib/geocodio/uk.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'geocodio/uk/district'
|
|
2
|
+
|
|
3
|
+
module Geocodio
|
|
4
|
+
module UK
|
|
5
|
+
attr_reader :uk_westminster, :uk_devolved, :uk_local
|
|
6
|
+
|
|
7
|
+
def set_uk_fields(fields)
|
|
8
|
+
@uk_westminster = Array(fields['uk_westminster']).map { |d| UK::District.new(d) }
|
|
9
|
+
@uk_devolved = Array(fields['uk_devolved']).map { |d| UK::District.new(d) }
|
|
10
|
+
@uk_local = Array(fields['uk_local']).map { |d| UK::District.new(d) }
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def uk_fields?(fields)
|
|
14
|
+
fields.key?('uk_westminster') || fields.key?('uk_devolved') || fields.key?('uk_local')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def uk?
|
|
18
|
+
!!(@uk_westminster || @uk_devolved || @uk_local)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/geocodio/utils.rb
CHANGED
|
@@ -28,8 +28,8 @@ module Geocodio
|
|
|
28
28
|
def normalize_params_and_options(hash)
|
|
29
29
|
hash = Hash[hash.map { |k, v| [k.to_sym, v] }]
|
|
30
30
|
|
|
31
|
-
#
|
|
32
|
-
params = hash.select { |k, _| [:fields].include?(k) }
|
|
31
|
+
# Supported query parameters: fields, country
|
|
32
|
+
params = hash.select { |k, _| [:fields, :country].include?(k) }
|
|
33
33
|
|
|
34
34
|
# Normalize this particular parameter to be a comma-separated string
|
|
35
35
|
params[:fields] = params[:fields].join(',') if params[:fields]
|
data/lib/geocodio/version.rb
CHANGED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
# Real v1.12 response for 10 Downing St, London SW1A 2AA
|
|
4
|
+
# with fields=uk-westminster,uk-devolved,uk-local and country=GB
|
|
5
|
+
RSpec.shared_context 'UK fixture' do
|
|
6
|
+
let(:uk_fixture) do
|
|
7
|
+
{
|
|
8
|
+
'address_components' => {
|
|
9
|
+
'number' => '10',
|
|
10
|
+
'street' => 'Downing',
|
|
11
|
+
'suffix' => 'St',
|
|
12
|
+
'formatted_street' => 'Downing St',
|
|
13
|
+
'city' => 'London',
|
|
14
|
+
'state' => 'England',
|
|
15
|
+
'zip' => 'SW1A 2AA',
|
|
16
|
+
'country' => 'GB'
|
|
17
|
+
},
|
|
18
|
+
'formatted_address' => '10 Downing St, London SW1A 2AA',
|
|
19
|
+
'location' => { 'lat' => 51.503541, 'lng' => -0.12767 },
|
|
20
|
+
'accuracy' => 0.95,
|
|
21
|
+
'accuracy_type' => 'rooftop',
|
|
22
|
+
'source' => 'Contains OS data © Crown copyright.',
|
|
23
|
+
'fields' => {
|
|
24
|
+
'uk_westminster' => [
|
|
25
|
+
{
|
|
26
|
+
'district_type' => 'westminster_constituency',
|
|
27
|
+
'gss_code' => 'E14001172',
|
|
28
|
+
'ocd_id' => 'ocd-division/country:gb/part:eng/region:uki/ed:cities_of_london_and_westminster',
|
|
29
|
+
'name' => 'Cities of London and Westminster',
|
|
30
|
+
'nation' => 'ENG',
|
|
31
|
+
'is_upcoming_district' => false,
|
|
32
|
+
'source' => 'Office for National Statistics'
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
'uk_devolved' => [],
|
|
36
|
+
'uk_local' => [
|
|
37
|
+
{
|
|
38
|
+
'district_type' => 'ward',
|
|
39
|
+
'gss_code' => 'E05013806',
|
|
40
|
+
'name' => "St James's",
|
|
41
|
+
'nation' => 'ENG',
|
|
42
|
+
'is_upcoming_district' => false,
|
|
43
|
+
'source' => 'Office for National Statistics'
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
describe Geocodio::Address do
|
|
52
|
+
include_context 'UK fixture'
|
|
53
|
+
|
|
54
|
+
subject(:address) { Geocodio::Address.new(uk_fixture) }
|
|
55
|
+
|
|
56
|
+
describe 'uk_westminster' do
|
|
57
|
+
it 'returns an array with one district' do
|
|
58
|
+
expect(address.uk_westminster.size).to eq(1)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it 'has the correct district_type' do
|
|
62
|
+
expect(address.uk_westminster.first.district_type).to eq('westminster_constituency')
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'has the correct gss_code' do
|
|
66
|
+
expect(address.uk_westminster.first.gss_code).to eq('E14001172')
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it 'has a non-nil ocd_id' do
|
|
70
|
+
expect(address.uk_westminster.first.ocd_id).to eq(
|
|
71
|
+
'ocd-division/country:gb/part:eng/region:uki/ed:cities_of_london_and_westminster'
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it 'has the correct name' do
|
|
76
|
+
expect(address.uk_westminster.first.name).to eq('Cities of London and Westminster')
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it 'has the correct nation' do
|
|
80
|
+
expect(address.uk_westminster.first.nation).to eq('ENG')
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
it 'is not an upcoming district' do
|
|
84
|
+
expect(address.uk_westminster.first.upcoming_district?).to be false
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
describe 'uk_devolved' do
|
|
89
|
+
it 'returns an empty array for English addresses' do
|
|
90
|
+
expect(address.uk_devolved).to eq([])
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
describe 'uk_local' do
|
|
95
|
+
it 'returns an array with one district' do
|
|
96
|
+
expect(address.uk_local.size).to eq(1)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it 'has the correct district_type' do
|
|
100
|
+
expect(address.uk_local.first.district_type).to eq('ward')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
it 'has the correct gss_code' do
|
|
104
|
+
expect(address.uk_local.first.gss_code).to eq('E05013806')
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it 'has nil ocd_id (key omitted by API for all local rows)' do
|
|
108
|
+
expect(address.uk_local.first.ocd_id).to be_nil
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
it 'is not an upcoming district' do
|
|
112
|
+
expect(address.uk_local.first.upcoming_district?).to be false
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
describe 'non-UK address' do
|
|
117
|
+
subject(:us_address) { Geocodio::Address.new({}) }
|
|
118
|
+
|
|
119
|
+
it 'has nil uk_westminster' do
|
|
120
|
+
expect(us_address.uk_westminster).to be_nil
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
it 'has nil uk_devolved' do
|
|
124
|
+
expect(us_address.uk_devolved).to be_nil
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
it 'has nil uk_local' do
|
|
128
|
+
expect(us_address.uk_local).to be_nil
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
describe Geocodio::UK do
|
|
134
|
+
include_context 'UK fixture'
|
|
135
|
+
|
|
136
|
+
let(:uk_address) { Geocodio::Address.new(uk_fixture) }
|
|
137
|
+
let(:non_uk_address) { Geocodio::Address.new({}) }
|
|
138
|
+
|
|
139
|
+
describe '#uk?' do
|
|
140
|
+
it 'returns true when UK fields are present' do
|
|
141
|
+
expect(uk_address).to be_uk
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
it 'returns false when no UK fields are present' do
|
|
145
|
+
expect(non_uk_address).not_to be_uk
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
describe '#uk_fields?' do
|
|
150
|
+
it 'returns true when uk_westminster key is present' do
|
|
151
|
+
expect(uk_address.uk_fields?('uk_westminster' => [])).to be true
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
it 'returns true when uk_devolved key is present' do
|
|
155
|
+
expect(uk_address.uk_fields?('uk_devolved' => [])).to be true
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
it 'returns true when uk_local key is present' do
|
|
159
|
+
expect(uk_address.uk_fields?('uk_local' => [])).to be true
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
it 'returns false when no UK keys are present' do
|
|
163
|
+
expect(uk_address.uk_fields?('congressional_districts' => [])).to be false
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
it 'returns false for an empty hash' do
|
|
167
|
+
expect(uk_address.uk_fields?({})).to be false
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
describe '#set_uk_fields' do
|
|
172
|
+
it 'populates uk_westminster as an array of UK::District objects' do
|
|
173
|
+
expect(uk_address.uk_westminster).to all(be_a(Geocodio::UK::District))
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
it 'populates uk_devolved as an empty array when the field is empty' do
|
|
177
|
+
expect(uk_address.uk_devolved).to eq([])
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
it 'populates uk_local as an array of UK::District objects' do
|
|
181
|
+
expect(uk_address.uk_local).to all(be_a(Geocodio::UK::District))
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
it 'sets readers to nil when UK fields are absent' do
|
|
185
|
+
expect(non_uk_address.uk_westminster).to be_nil
|
|
186
|
+
expect(non_uk_address.uk_devolved).to be_nil
|
|
187
|
+
expect(non_uk_address.uk_local).to be_nil
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
describe Geocodio::Utils do
|
|
193
|
+
include Geocodio::Utils
|
|
194
|
+
|
|
195
|
+
describe '#normalize_params_and_options' do
|
|
196
|
+
it 'forwards country as a query param' do
|
|
197
|
+
params, _options = normalize_params_and_options(country: 'GB', fields: %w[uk-westminster])
|
|
198
|
+
expect(params[:country]).to eq('GB')
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
it 'still normalizes fields to a comma-separated string' do
|
|
202
|
+
params, _options = normalize_params_and_options(country: 'GB', fields: %w[uk-westminster uk-devolved uk-local])
|
|
203
|
+
expect(params[:fields]).to eq('uk-westminster,uk-devolved,uk-local')
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
it 'does not include country in options' do
|
|
207
|
+
_params, options = normalize_params_and_options(country: 'GB', timeout: 4)
|
|
208
|
+
expect(options).to eq(timeout: 4)
|
|
209
|
+
expect(options.key?(:country)).to be false
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
it 'works without country (backward-compatible)' do
|
|
213
|
+
params, _options = normalize_params_and_options(fields: %w[cd118])
|
|
214
|
+
expect(params.key?(:country)).to be false
|
|
215
|
+
expect(params[:fields]).to eq('cd118')
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&fields=cd,stateleg&q=4141%20woronzof%20dr%20anchorage%20ak%2099517
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: post
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key
|
|
6
6
|
body:
|
|
7
7
|
encoding: UTF-8
|
|
8
8
|
string: '["1 Infinite Loop Cupertino CA 95014","54 West Colorado Boulevard Pasadena
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: post
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone
|
|
6
6
|
body:
|
|
7
7
|
encoding: UTF-8
|
|
8
8
|
string: '["1 Infinite Loop Cupertino CA 95014","54 West Colorado Boulevard Pasadena
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: post
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/reverse?api_key=secret_api_key
|
|
6
6
|
body:
|
|
7
7
|
encoding: UTF-8
|
|
8
8
|
string: '["37.331669,-122.03074","34.145760590909,-118.15204363636","37.7815,-122.404933"]'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: post
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone
|
|
6
6
|
body:
|
|
7
7
|
encoding: UTF-8
|
|
8
8
|
string: '["37.331669,-122.03074","34.145760590909,-118.15204363636","37.7815,-122.404933"]'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: post
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&fields=timezone,cd118,provriding,riding,stateleg-next
|
|
6
6
|
body:
|
|
7
7
|
encoding: UTF-8
|
|
8
8
|
string: '["1 Infinite Loop Cupertino CA 95014","356 Yonge St, Toronto, ON M5G,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&fields=cd,stateleg-next,school,timezone&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&q=1600%20Pennsylvania%20Ave%20NW%20Washington%20DC%2020500
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/parse?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/reverse?api_key=secret_api_key&q=34.145760590909,-118.15204363636
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=34.145760590909,-118.15204363636
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
http_interactions:
|
|
3
3
|
- request:
|
|
4
4
|
method: get
|
|
5
|
-
uri: http://api.geocod.io/v1.
|
|
5
|
+
uri: http://api.geocod.io/v1.12/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=41.25,-96.00
|
|
6
6
|
body:
|
|
7
7
|
encoding: US-ASCII
|
|
8
8
|
string: ''
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: geocodio-ocd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Celis
|
|
8
8
|
- Shairon Toledo
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2026-05-15 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json
|
|
@@ -107,6 +107,8 @@ files:
|
|
|
107
107
|
- lib/geocodio/school_district.rb
|
|
108
108
|
- lib/geocodio/state_legislative_district.rb
|
|
109
109
|
- lib/geocodio/timezone.rb
|
|
110
|
+
- lib/geocodio/uk.rb
|
|
111
|
+
- lib/geocodio/uk/district.rb
|
|
110
112
|
- lib/geocodio/utils.rb
|
|
111
113
|
- lib/geocodio/version.rb
|
|
112
114
|
- spec/address_set_spec.rb
|
|
@@ -119,6 +121,7 @@ files:
|
|
|
119
121
|
- spec/spec_helper.rb
|
|
120
122
|
- spec/state_legislative_district_spec.rb
|
|
121
123
|
- spec/timezone_spec.rb
|
|
124
|
+
- spec/uk_district_spec.rb
|
|
122
125
|
- spec/vcr_cassettes/alaska_geocode_with_fields.yml
|
|
123
126
|
- spec/vcr_cassettes/batch_geocode.yml
|
|
124
127
|
- spec/vcr_cassettes/batch_geocode_with_bad_address.yml
|
|
@@ -140,7 +143,7 @@ homepage: https://github.com/shairontoledo/geocodio-ocd
|
|
|
140
143
|
licenses:
|
|
141
144
|
- MIT
|
|
142
145
|
metadata: {}
|
|
143
|
-
post_install_message:
|
|
146
|
+
post_install_message:
|
|
144
147
|
rdoc_options: []
|
|
145
148
|
require_paths:
|
|
146
149
|
- lib
|
|
@@ -155,35 +158,37 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
155
158
|
- !ruby/object:Gem::Version
|
|
156
159
|
version: '0'
|
|
157
160
|
requirements: []
|
|
158
|
-
rubygems_version: 3.
|
|
159
|
-
signing_key:
|
|
161
|
+
rubygems_version: 3.5.22
|
|
162
|
+
signing_key:
|
|
160
163
|
specification_version: 4
|
|
161
|
-
summary: An unofficial Ruby client library for geocod.io API v1.
|
|
164
|
+
summary: An unofficial Ruby client library for geocod.io API v1.12, with OCD IDs,
|
|
165
|
+
Canadian, and UK political district support
|
|
162
166
|
test_files:
|
|
163
|
-
- spec/spec_helper.rb
|
|
164
|
-
- spec/client_spec.rb
|
|
165
167
|
- spec/address_set_spec.rb
|
|
168
|
+
- spec/address_spec.rb
|
|
169
|
+
- spec/canadian_spec.rb
|
|
170
|
+
- spec/client_spec.rb
|
|
171
|
+
- spec/congressional_district_spec.rb
|
|
172
|
+
- spec/legislator_spec.rb
|
|
166
173
|
- spec/school_district_spec.rb
|
|
174
|
+
- spec/spec_helper.rb
|
|
175
|
+
- spec/state_legislative_district_spec.rb
|
|
167
176
|
- spec/timezone_spec.rb
|
|
168
|
-
- spec/
|
|
169
|
-
- spec/canadian_spec.rb
|
|
177
|
+
- spec/uk_district_spec.rb
|
|
170
178
|
- spec/vcr_cassettes/alaska_geocode_with_fields.yml
|
|
171
|
-
- spec/vcr_cassettes/
|
|
172
|
-
- spec/vcr_cassettes/
|
|
173
|
-
- spec/vcr_cassettes/
|
|
174
|
-
- spec/vcr_cassettes/
|
|
175
|
-
- spec/vcr_cassettes/canadian.yml
|
|
179
|
+
- spec/vcr_cassettes/batch_geocode.yml
|
|
180
|
+
- spec/vcr_cassettes/batch_geocode_with_bad_address.yml
|
|
181
|
+
- spec/vcr_cassettes/batch_geocode_with_fields.yml
|
|
182
|
+
- spec/vcr_cassettes/batch_reverse.yml
|
|
176
183
|
- spec/vcr_cassettes/batch_reverse_with_fields.yml
|
|
184
|
+
- spec/vcr_cassettes/canadian.yml
|
|
185
|
+
- spec/vcr_cassettes/geocode.yml
|
|
186
|
+
- spec/vcr_cassettes/geocode_bad_address.yml
|
|
177
187
|
- spec/vcr_cassettes/geocode_with_fields.yml
|
|
188
|
+
- spec/vcr_cassettes/geocode_with_fields_legacy.yml
|
|
178
189
|
- spec/vcr_cassettes/geocode_with_postdirectional.yml
|
|
190
|
+
- spec/vcr_cassettes/invalid_key.yml
|
|
191
|
+
- spec/vcr_cassettes/parse.yml
|
|
179
192
|
- spec/vcr_cassettes/reverse.yml
|
|
180
|
-
- spec/vcr_cassettes/batch_geocode_with_fields.yml
|
|
181
193
|
- spec/vcr_cassettes/reverse_with_fields.yml
|
|
182
|
-
- spec/vcr_cassettes/batch_reverse.yml
|
|
183
194
|
- spec/vcr_cassettes/reverse_with_fields_no_house_info.yml
|
|
184
|
-
- spec/vcr_cassettes/batch_geocode_with_bad_address.yml
|
|
185
|
-
- spec/vcr_cassettes/invalid_key.yml
|
|
186
|
-
- spec/vcr_cassettes/batch_geocode.yml
|
|
187
|
-
- spec/state_legislative_district_spec.rb
|
|
188
|
-
- spec/legislator_spec.rb
|
|
189
|
-
- spec/address_spec.rb
|