us_street 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|