module ActsAs::Human::InstanceMethods
Public Instance Methods
full_name()
click to toggle source
# File lib/acts_as_human/instance_methods.rb, line 5 def full_name return '' if first_name.blank? and last_name.blank? return "#{first_name} #{last_name}" if middle_names.blank? return "#{first_name} #{middle_names} #{last_name}" end
full_name=(names)
click to toggle source
# File lib/acts_as_human/instance_methods.rb, line 12 def full_name=(names) names_array = names.titlecase.split self.first_name = names_array.first return if names_array.size < 2 self.last_name = get_last_name(names_array) assign_middle_names(names_array) end
Private Instance Methods
assign_middle_names(names_array)
click to toggle source
# File lib/acts_as_human/instance_methods.rb, line 33 def assign_middle_names(names_array) if names_array.size > 2 self.middle_names = get_middle_names(names_array) else self.middle_names = nil end end
get_last_name(names_array)
click to toggle source
# File lib/acts_as_human/instance_methods.rb, line 25 def get_last_name(names_array) if names_array.size > 2 and names_array[-2].eql? 'Mc' surname = names_array.pop names_array << "#{names_array.pop} #{surname}" end names_array.last end
get_middle_names(names_array)
click to toggle source
# File lib/acts_as_human/instance_methods.rb, line 41 def get_middle_names(names_array) names_array[1..(names_array.size-2)].join(' ') end