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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 125d8ac07a63f718e168a7fda6dab8627e825c7bd12334d7d4169562244d95f5
4
- data.tar.gz: 1d4bee94177582fb0f1ca42e3e3d87f66f2d2c1de98e6bbcb0f15c59f5be64ab
3
+ metadata.gz: 7c56c6212667f8a77ab37bdabf69be51bc5948bcec6ffb92d1561aadfd2cc718
4
+ data.tar.gz: 7c4ef2c37c6761399dbdfa5cc01daddcdb085aa9fa6c441969e655417c85b5b8
5
5
  SHA512:
6
- metadata.gz: f53d46869f981c227364f520b84e84a4ecd478ee9d1b651fe7ac3c3d31c2ae5efea3692b2efad4ac0de6ad3cd7d7e9d06f58d868509d09eb0271eb5f12694e65
7
- data.tar.gz: c7b742d381568026136c398fb8285d6242b1212094544d48d7c239347ee210515282f0555b85646708f68b0ff5183716fdec6b002d49296a1847adf967de81ee
6
+ metadata.gz: 1657153a49b427849b776c4139bece061dacb59c01b780720094312153c64c90db3be529953aa72411355f2f16509d1009321d83f383bf1c157f924fa2afa19d
7
+ data.tar.gz: 22a0b50714ff050b01a59c52c8aa3f3315ddf477a3d0cc311e6a2c61dffb2a6f1c5ae5de2ae383d598980e08fe797564f189953264ce1e6a14e57a8413be935a
@@ -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)
@@ -18,7 +18,7 @@ module Geocodio
18
18
  :delete => Net::HTTP::Delete
19
19
  }
20
20
  HOST = 'api.geocod.io'
21
- BASE_PATH = '/v1.7'
21
+ BASE_PATH = '/v1.12'
22
22
  PORT = 80
23
23
 
24
24
  def initialize(api_key = ENV['GEOCODIO_API_KEY'])
@@ -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
@@ -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
@@ -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
- # The only supported parameter is fields
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]
@@ -1,7 +1,7 @@
1
1
  module Geocodio
2
2
  class Version
3
3
  MAJOR = 4
4
- MINOR = 0
4
+ MINOR = 1
5
5
  PATCH = 0
6
6
 
7
7
  def self.to_s
@@ -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.7/geocode?api_key=secret_api_key&fields=cd,stateleg&q=4141%20woronzof%20dr%20anchorage%20ak%2099517
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.7/geocode?api_key=secret_api_key
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.7/geocode?api_key=secret_api_key
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"," , , "]'
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://api.geocod.io/v1.7/geocode?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone
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.7/reverse?api_key=secret_api_key
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.7/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone
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.7/geocode?api_key=secret_api_key&fields=timezone,cd118,provriding,riding,stateleg-next
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.7/geocode?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
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.7/geocode?api_key=secret_api_key&q=%20,%20,%20
5
+ uri: http://api.geocod.io/v1.12/geocode?api_key=secret_api_key&q=%20,%20,%20
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.7/geocode?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
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.7/geocode?api_key=secret_api_key&fields=cd,stateleg-next,school,timezone&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
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.7/geocode?api_key=secret_api_key&q=1600%20Pennsylvania%20Ave%20NW%20Washington%20DC%2020500
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.7/geocode?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
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.7/parse?api_key=secret_api_key&q=54%20West%20Colorado%20Boulevard%20Pasadena%20CA%2091105
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.7/reverse?api_key=secret_api_key&q=34.145760590909,-118.15204363636
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.7/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=34.145760590909,-118.15204363636
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.7/reverse?api_key=secret_api_key&fields=cd118,stateleg-next,school,timezone&q=41.25,-96.00
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.0.0
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: 2022-07-13 00:00:00.000000000 Z
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.1.2
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.7
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/congressional_district_spec.rb
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/geocode_with_fields_legacy.yml
172
- - spec/vcr_cassettes/parse.yml
173
- - spec/vcr_cassettes/geocode_bad_address.yml
174
- - spec/vcr_cassettes/geocode.yml
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