Gender Detector
Gender Detector is a Ruby library that will tell you the most likely gender of a person based on first name. It uses the underlying data from the program "gender" by Jorg Michael (described here).
Installation
Add this line to your application's Gemfile:
gem 'gender_detector'And then execute:
bundleOr install it yourself as:
gem install gender_detectorUsage
Its use is pretty straightforward:
require 'gender_detector'
d = GenderDetector.new
d.get_gender("Bob")
# => :male
d.get_gender("Sally")
# => :female
d.get_gender("Pauley")
# => :andyThe result will be one of :andy (androgynous), :male, :female, :mostly_male, or :mostly_female.  Any unknown names are considered andies.
Gender detection will work for names with non-ASCII characters as well:
d.get_gender("Álfrún")
# => :femaleAdditionally, you can give preference to specific countries:
d.get_gender("Jamie")
# => :female
d.get_gender("Jamie", :great_britain)
# => :mostly_maleIf you have an alterative data file, you can pass that in as an optional filename argument to the GenderDetector.  Additionally, you can create a detector that is not case sensitive (default is to be case sensitive):
d = GenderDetector.new(:case_sensitive => false)
d.get_gender "sally"
# => :female
d.get_gender "Sally"
# => :femaleTry to avoid creating many GenderDetectors, as each creation means reading in the data file.
Licenses
The gender_detector code is distributed under the GPLv3. The data file nam_dict.txt is released under the GNU Free Documentation License.