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 last token as state
14
+
15
+ # try to parse out the state (california, new york, district of columbia)
16
16
  #
17
- self.state = State.new(tokens.last) rescue nil
18
- tokens = tokens.slice(0..-2) if self.state
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
@@ -1,3 +1,3 @@
1
1
  module PeoplePlacesThings
2
- VERSION = "2.5.0"
2
+ VERSION = "2.5.1"
3
3
  end
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.0
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: 2011-10-08 00:00:00 Z
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.7
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.