module Faker::NameDA

def any_name

def any_name
  case rand(8)
  when 0 		then 	"#{prefix} #{first_name} #{last_name}"
  when 1..2 then 	"#{first_name} #{last_name} #{last_name}"
  else 	  				"#{first_name} #{last_name}"
  end
d    	

def female_name

def female_name
	fname = first_name :female
    case rand(8)
    when 0 		then 	"#{prefix} #{fname} #{last_name}"
    when 1..2 then 	"#{fname} #{last_name} #{last_name}"
    else 						"#{fname} #{last_name}"
    end			
end

def first_name gender = :any

def first_name gender = :any
	fname = first_name :male
	case gender
	when :any then FIRST_NAMES.rand
	when :male then MALE_FIRST_NAMES.rand
	when :female then FEMALE_FIRST_NAMES.rand
	else
		raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
	end
end

def last_name

def last_name
  LAST_NAMES.rand
end

def male_name

def male_name
	fname = first_name :male
    case rand(8)
    when 0 		then 	"#{prefix} #{fname} #{last_name}"
    when 1..2 then 	"#{fname} #{last_name} #{last_name}"
    else 						"#{fname} #{last_name}"
    end			
end

def name gender = :any

def name gender = :any
	case gender
	when :any then any_name
	when :male then male_name
	when :female then female_name
	else
		raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
	end
end

def prefix

def prefix
  PREFIXES.rand
end