THIS LIBRARY IS STILL IN DEVELOPMENT.
Guess the gender of names with the help of the genderize.io.
gem install gendered
You can guess one name at a time...
> require 'gendered'
> name = Gendered::Name.new("Sean")
> name.gender
> :not_guessed
> name.guess!
=> :male
> name.male?
=> true
> name.female?
=> false
> name.probability
=> "0.99E0"
> name.sample_size
=> 967
Or batch up a list of names (which sends only one request per hundred names to the API)...
> require 'gendered'
> name_list = Gendered::NameList.new(["Sean","Theresa"])
> name_list.guess!
=> [:male, :female]
> name_list.collect { |name| name.male? }
=> [true, false]
> name_list.collect { |name| name.female? }
=> [false, true]
> name_list.collect { |name| name.probability.to_f }
=> [0.99, 1.0]
> name_list.collect { |name| name.sample_size }
=> [967, 370]
> name_list["Sean"].gender
=> :male
Options can be passed in too...
options = { :apikey => "X123Y456", :country_id => "dk" }
name = Gendered::Name.new("Sean")
name.guess!(options)
name_list = Gendered::NameList.new(["Kim", "Theresa"], options)
Or set globally, as defaults...
Gendered.configure do |config|
config.apikey = "X123Y456"
config.language_id = "pt"
# ...
end