address_line_divider 1.0.4 → 1.0.5

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: e6ef2ffffc4e459d9c4ebf283cb7eafaf2c725ceff1da8ae3f06fcfbc77b8f45
4
- data.tar.gz: f72ee12e5fdb98453d3653175fba57567d48da21e6917b125d60e04d93e76497
3
+ metadata.gz: 35c739931b4af196ad0a5dc9181106b9484c849e6a27a907f75afb407647a9f8
4
+ data.tar.gz: 90db5541183059ea3a59a99b76f9bb9eb4aae261af4c07a7de3add6c560c1418
5
5
  SHA512:
6
- metadata.gz: 93f7cec2d436c1eb97459451d5b7a38505355d7b730d1886b4db37bdce2bf4ecfad02a29ed90cfd8478a5ee5d572aa516ca91d54142c48a43465507ac249325a
7
- data.tar.gz: 19459ff082a0d8ad3c33369c4d4b0a2fa351a6e8cc941973258bf0ed5f637def7b9b88f238804d37c7d60b5cab57174f513e05a231b3356e1cc991280de62107
6
+ metadata.gz: 1b7ef4b0b5261404a42c9c72e58128e4f229ba99442e49fd5edf4369e4ce41e6f54006280e7fb2dda672f13e87ba3ede8d8f25ff18c53077a20f432288cf787a
7
+ data.tar.gz: a4aede3d31b69bac9e7ea051cac8f235b27fc8a083b96eccfdcdbe6ea687003fd6e38473ee63c2d0baeec99ee3c99cb07d892737c03c462628bf167342e4a19a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,6 @@
1
1
  # Changelog
2
+ ## v1.0.5
3
+ * Verify results and return nil if it's invalid.
2
4
  ## v1.0.4
3
5
  * Improve Regex
4
6
  ## v1.0.3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- address_line_divider (1.0.4)
4
+ address_line_divider (1.0.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -10,19 +10,29 @@ module AddressLineDivider
10
10
  street = search_street_on_file(address_line)
11
11
  return [street, street_no(address_line, street)] if street
12
12
 
13
- parse_using_regex(address_line)
13
+ result = parse_using_regex(address_line)
14
+ result unless result.nil? || result.any?(:nil?)
14
15
  end
15
16
 
16
17
  private
17
18
 
18
19
  def parse_using_regex(address_line)
19
- last_number_index = address_line.index(last_number(address_line))
20
+ last_number = last_number(address_line)
21
+ return unless last_number
22
+
23
+ last_number_index = address_line.index(last_number)
20
24
  street_name = address_line[0..last_number_index - 1].strip
21
25
  street_no = address_line[last_number_index..-1].strip
22
26
 
27
+ return if invalid_result(address_line, [street_name, street_no])
28
+
23
29
  [street_name, street_no]
24
30
  end
25
31
 
32
+ def invalid_result(address_line, result)
33
+ squish(result.join(" ")) != squish(address_line)
34
+ end
35
+
26
36
  def last_number(address_line)
27
37
  squish(address_line).split(" ").select do |substr|
28
38
  substr =~ /[[:digit:]]/
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AddressLineDivider
4
- VERSION = "1.0.4"
4
+ VERSION = "1.0.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: address_line_divider
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matias Albarello
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-15 00:00:00.000000000 Z
11
+ date: 2021-07-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: