address_line_divider 1.0.4 → 1.0.5

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