people_places_things 2.5.0 → 2.5.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -5,18 +5,23 @@ module PeoplePlacesThings
|
|
5
5
|
def initialize(str)
|
6
6
|
self.raw = str
|
7
7
|
|
8
|
-
tokens = str.split(/\s|,/).collect {|t| t.strip}
|
8
|
+
tokens = str.split(/\s|,/).collect { |t| t.strip }.reject { |t| t.length == 0 }
|
9
9
|
|
10
10
|
# try to parse last token as zip
|
11
11
|
#
|
12
12
|
self.zip = ZipCode.new(tokens.last) rescue nil
|
13
13
|
tokens = tokens.slice(0..-2) if self.zip
|
14
|
-
|
15
|
-
# try to parse
|
14
|
+
|
15
|
+
# try to parse out the state (california, new york, district of columbia)
|
16
16
|
#
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
3.times do |i|
|
18
|
+
self.state = State.new(tokens.last(i).join(" ")) rescue nil
|
19
|
+
if self.state
|
20
|
+
tokens = tokens.slice(0..(-1 - i))
|
21
|
+
break
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
20
25
|
# remainder must be city
|
21
26
|
#
|
22
27
|
self.city = tokens.join(' ').strip
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: people_places_things
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.5.
|
5
|
+
version: 2.5.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Danny Burkes
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
13
|
+
date: 2012-09-11 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements: []
|
82
82
|
|
83
83
|
rubyforge_project:
|
84
|
-
rubygems_version: 1.8.
|
84
|
+
rubygems_version: 1.8.10
|
85
85
|
signing_key:
|
86
86
|
specification_version: 3
|
87
87
|
summary: Parsers and formatters for person names, street addresses, city/state/zip, phone numbers, etc.
|