us_street 0.1.2 → 0.1.3
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/README.md +1 -1
- data/lib/us_street/version.rb +1 -1
- data/lib/us_street.rb +5 -5
- data/spec/us_street_spec.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ef48a37d102c911b24152c2f77485b964c6e874
|
4
|
+
data.tar.gz: 5cfa71014710d2f69cb9f39e737e45e88011bd18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6afeaec5a91f008c6789921b488f35204db9177dadeb8e42c6e3718ce14572f30c57303bdb3f76487e8f1a337372af58fe8ad0679e45937150eee1f2d991854
|
7
|
+
data.tar.gz: 5b3d4e54f5c146fba3d7cbe99eb67c74fe2f0b72bc53f4f97635b1198276cdddd62db6410f3db14fca86ed13e56cd4058dc3827123e25e104d55a1c6a5d289a6
|
data/README.md
CHANGED
data/lib/us_street/version.rb
CHANGED
data/lib/us_street.rb
CHANGED
@@ -36,7 +36,7 @@ class UsStreet
|
|
36
36
|
def self.components; COMPONENTS; end
|
37
37
|
|
38
38
|
def self.clean(str)
|
39
|
-
str.to_s.gsub(/([\.,:;]|\(.*?\))/, '').gsub(
|
39
|
+
str.to_s.gsub(/([\.,:;]|\(.*?\))/, '').gsub(/.#[a-zA-Z0-9]+$/, '').gsub(/\s+/, ' ').strip.downcase.presence
|
40
40
|
end
|
41
41
|
|
42
42
|
def self.clean_hash(hash)
|
@@ -82,8 +82,8 @@ class UsStreet
|
|
82
82
|
sidx, eidx = 0, parts.length - 1
|
83
83
|
unit_number = dir_suffix = dir_prefix = street_suffix = street_number = road_number = nil
|
84
84
|
|
85
|
-
# We could have a unit number last. Format '
|
86
|
-
if match = original_full_street.match(/#(
|
85
|
+
# We could have a unit number last. Format '#[a-zA-Z0-9]+' but it's removed by the cleaners so match the original
|
86
|
+
if match = original_full_street.match(/#([a-zA-Z0-9]+)$/)
|
87
87
|
unit_number = match[1]
|
88
88
|
end
|
89
89
|
|
@@ -125,9 +125,9 @@ class UsStreet
|
|
125
125
|
# Time to build up the output, prefer what was passed in
|
126
126
|
# Note: We needed to decompose the street because the street may have had the components put into it
|
127
127
|
# by some unsavoury operators :'(
|
128
|
-
overrides_unit = overrides[:unit].to_s.try(:match, /(
|
128
|
+
overrides_unit = overrides[:unit].to_s.try(:match, /([a-zA-Z0-9]+)/).try(:captures).try(:first)
|
129
129
|
out = {
|
130
|
-
unit: overrides_unit || unit_number,
|
130
|
+
unit: (overrides_unit || unit_number).try(:upcase),
|
131
131
|
dir_prefix: direction_mapping(overrides[:dir_prefix]).presence || dir_prefix,
|
132
132
|
street_name: overrides[:street_name].presence || parts[sidx..eidx].join(' '),
|
133
133
|
street_suffix: road_mapping(overrides[:street_suffix]).presence || street_suffix,
|
data/spec/us_street_spec.rb
CHANGED
@@ -167,6 +167,20 @@ describe UsStreet do
|
|
167
167
|
expect(us_street.display).to eq('123 123rd St #15')
|
168
168
|
end
|
169
169
|
|
170
|
+
it 'handles alpha unit numbers' do
|
171
|
+
us_street = UsStreet.parse('123 123rd st #C')
|
172
|
+
expect(us_street.unit).to eq('C')
|
173
|
+
expect(us_street.full_street).to eq('123 123rd St')
|
174
|
+
expect(us_street.display).to eq('123 123rd St #C')
|
175
|
+
end
|
176
|
+
|
177
|
+
it 'handles alpha unit numbers' do
|
178
|
+
us_street = UsStreet.parse('123 123rd st', unit: 'C')
|
179
|
+
expect(us_street.unit).to eq('C')
|
180
|
+
expect(us_street.full_street).to eq('123 123rd St')
|
181
|
+
expect(us_street.display).to eq('123 123rd St #C')
|
182
|
+
end
|
183
|
+
|
170
184
|
it 'handles 123rd st without ordinals or street number' do
|
171
185
|
us_street = UsStreet.parse('123 st')
|
172
186
|
expect(us_street.street_number).to eq(nil)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: us_street
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Neighman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|