Sha256: 77e96770ae2ca8bab26383e5b3027b98a835bd062232be9622a2b646e5653e9f
Contents?: true
Size: 1016 Bytes
Versions: 2
Compression:
Stored size: 1016 Bytes
Contents
# encoding: utf-8 module Belka class Name class <<self def gender male = Kernel.rand(100) < 50 yield(male) if block_given? male end def first_name(male = nil) pick_with_gender(male, Data::MaleNames, Data::FemaleNames) end def middle_name(male = nil) pick_with_gender(male, Data::MaleMiddleNames, Data::FemaleMiddleNames) end def family_name(male = nil) male = gender if male.nil? famname = Belka.pick(Data::FamilyNames) if famname.is_a? Array famname[0] + famname[male ? 1 : 2] else male ? famname : famname + 'а' end end def full_name(male = nil) male = gender if male.nil? "#{family_name(male)} #{first_name(male)} #{middle_name(male)}" end private def pick_with_gender(male, male_ary, female_ary) male = gender if male.nil? Belka.pick(male ? male_ary : female_ary) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
belka-0.0.4 | lib/belka/name.rb |
belka-0.0.2 | lib/belka/name.rb |