class Belka::Name
Public Class Methods
family_name(male = nil)
click to toggle source
# File lib/belka/name.rb, line 19 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
first_name(male = nil)
click to toggle source
# File lib/belka/name.rb, line 11 def first_name(male = nil) pick_with_gender(male, Data::MaleNames, Data::FemaleNames) end
full_name(male = nil)
click to toggle source
# File lib/belka/name.rb, line 31 def full_name(male = nil) male = gender if male.nil? "#{family_name(male)} #{first_name(male)} #{middle_name(male)}" end
gender() { |male| ... }
click to toggle source
# File lib/belka/name.rb, line 5 def gender male = Kernel.rand(100) < 50 yield(male) if block_given? male end
middle_name(male = nil)
click to toggle source
# File lib/belka/name.rb, line 15 def middle_name(male = nil) pick_with_gender(male, Data::MaleMiddleNames, Data::FemaleMiddleNames) end
Private Class Methods
pick_with_gender(male, male_ary, female_ary)
click to toggle source
# File lib/belka/name.rb, line 39 def pick_with_gender(male, male_ary, female_ary) male = gender if male.nil? Belka.pick(male ? male_ary : female_ary) end