validate :full_name_length def full_name [forename, surname].compact.join(' ') end def full_name=(full_name_str) name_arr = full_name_str.split(' ',2) self.forename = name_arr.first self.surname = name_arr.last end private def full_name_length errors.add(:full_name, 'is not correct') if full_name.split(' ',2).length != 2 end