Skip to content

dominicsayers/name_tamer

Repository files navigation

NameTamer

Gem version Gem downloads Build Status Code Climate Test Coverage Security

NameTamer: making sense of names

Installation

Add this line to your application's Gemfile:

gem 'name_tamer'

And then execute:

$ bundle

Or install it yourself as:

$ gem install name_tamer

Usage

Examples:

NameTamer['Mr. John Q. Smith III, MD'].simple_name # => John Smith

Or you can create an instance if you need several versions of the name

name_tamer = NameTamer::Name.new 'Mr. John Q. Smith III, MD'
name_tamer.slug # => john-smith
name_tamer.simple_name # => John Smith
name_tamer.nice_name # => John Q. Smith
name_tamer.contact_type # => :person

NameTamer will make an intelligent guess at the type of the name but it's not infallible. NameTamer likes it if you tell it whether the name is a person or an organization:

name_tamer = NameTamer::Name.new 'Di Doo Doo d.o.o.', contact_type: :organization
name_tamer.simple_name # => Di Doo Doo

Contributing

There must be lots of name suffixes and prefixes that I haven't catered for, so please get in touch if name_tamer doesn't recognise one that you've found.

If there are any other common two-word family names that I've missed then please let me know. name_tamer tries to make sure Helena Bonham Carter gets slugified to helena-bonham-carter and not helena-carter, but I'm sure there are loads of two-word family names I don't know about.

Please read all the following articles before contributing:

How to contribute

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Acknowledgements

  1. Thanks to Ryan Bigg for the guide to making your first gem https://github.com/radar/guides/blob/master/gem-development.md