address_line_divider 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/CHANGELOG.md +2 -0
- data/Gemfile.lock +1 -1
- data/lib/address_line_divider/address_parser.rb +8 -6
- data/lib/address_line_divider/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 678fdc52d5f68e75e97ff2f67d260c325747273287c4e0fe7054dbca7258277c
|
4
|
+
data.tar.gz: 1c5b3ffda58132cafcf8632d06a1b77243cccd096b680a634f3b0b7ca070164c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b02307bdbad519d388d2f3c97d1849b61404c1629174c90f2b43026371fdaeeb387013d0528e51687b65ad99c0c52ec8b62de19b1aa90d3e9b1cab06fcaf8d68
|
7
|
+
data.tar.gz: 66a5ddc6ed60ec17c49683e9e017ae114ebb65130c3b21bb885152923e3e0cd02649003157e5e125d7cc2f1a64f633fffa264cd113f1b77e8a923510ef44b1d8
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -8,10 +8,12 @@ module AddressLineDivider
|
|
8
8
|
|
9
9
|
def parse(address_line)
|
10
10
|
street = search_street_on_file(address_line)
|
11
|
-
|
11
|
+
result = [street, street_no(address_line, street)] if street
|
12
|
+
result ||= parse_using_regex(address_line)
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
return if invalid_result(address_line, result)
|
15
|
+
|
16
|
+
result
|
15
17
|
end
|
16
18
|
|
17
19
|
private
|
@@ -24,13 +26,13 @@ module AddressLineDivider
|
|
24
26
|
street_name = address_line[0..last_number_index - 1].strip
|
25
27
|
street_no = address_line[last_number_index..-1].strip
|
26
28
|
|
27
|
-
return if invalid_result(address_line, [street_name, street_no])
|
28
|
-
|
29
29
|
[street_name, street_no]
|
30
30
|
end
|
31
31
|
|
32
32
|
def invalid_result(address_line, result)
|
33
|
-
|
33
|
+
result.nil? ||
|
34
|
+
result.any? { |r| r.nil? || r.strip.empty? } ||
|
35
|
+
squish(result.join(" ")) != squish(address_line)
|
34
36
|
end
|
35
37
|
|
36
38
|
def last_number(address_line)
|