Skip to content
Parsers and formatters for person names, street addresses, city/state/zip, phone numbers, etc.
Ruby
Branch: master
Clone or download
This branch is 13 commits ahead, 16 commits behind dburkes:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
spec
.gitignore
Gemfile
README.textile
Rakefile
people_places_things.gemspec

README.textile

PeoplePlacesThings

PeoplePlacesThings is a collection of ruby classes for parsing and formatting U.S person names, street addresses, phone numbers, and more.

gem install -s http://gemcutter.org people_places_things

Rdocs available at http://rdoc.info/projects/dburkes/people_places_things

Using PeoplePlacesThings


  require 'people_places_things'
  include PeoplePlacesThings

  name = PersonName.new("george quincy harold peabody jr.")
  name.first => "george"
  name.first_i => "g"
  name.last => "peabody"
  name.middle => "quincy harold"
  name.suffix => "jr."
  name.to_s(:last_comma_first) => "peabody,george"
  name.to_s(:full) => "george quincy peabody jr."

  name2 = PersonName.new("peabody jr., george quincy harold", :last_first_middle)
  name.eql?(name2) => true

  addr = StreetAddress.new("204-b ne. 1st ave suite 4")
  addr.number => "204-b"
  addr.pre_direction => :northeast
  addr.name => "first"
  addr.suffix => :avenue
  addr.unit_type => :suite
  addr.unit => "4"
  addr.to_s => "204-b northeast 1st avenue suite 4"

  ANSICounties.code_for('GA', 'FULTON') => 13121
  ANSICounties.code_for(:state => 'ga', :county => 'fulton') => 13121
  ANSICounties.data_for(13121) => { :state => 'GA', :county => 'FULTON' }
  
  phone = PhoneNumber.new '14045551212'
  phone.country_code => 1
  phone.area_code => '404'
  phone.number => '5551212'
  phone.exchange => '555'
  phone.suffix => '1212'
  phone.to_s => '1 (404) 555-1212'

  zip = ZipCode.new '30306-3522'
  zip.base => '30306'
  zip.plus_four => '3522'
  zip.to_s => '30306-3522'
  
  state = State.new 'california'
  state.sym => :ca
  state.to_s => 'California'
  state.to_s(:abbr) => 'CA'
  
  location = Location.new 'san francisco, ca 94114-1222'
  location.city => 'san francisco'
  location.state.to_s => 'California'
  location.zip.base => '94114'

Data source

The data that makes up lib/people_places_things/data/data.yml was generated from lib/people_places_things/data/raw.txt, which was downloaded from the US Census website.

Fork Changes

UnsupportedFormat error 

Rewrite 1st => first
<code>
addr = StreetAddress.new("204-b ne. 1st ave suite 4")
addr.number => "204-b"
addr.pre_direction => :northeast
addr.name => "first"
addr.suffix => :avenue
addr.unit_type => :suite
addr.unit => "4"
addr.to_s => "204-b northeast 1st avenue suite 4"

You can’t perform that action at this time.