def name=(value)
      value = Name.parse(value) if String === value
      # a missing name is equivalent to an empty name for our purposes here
      value = Name.new(nil, nil) if value.nil?
      unless Name === value then
        raise ArgumentError.new("Name argument type invalid; expected <#{Name}>, found <#{value.class}>")
      end
      self.first_name = value.first
      self.last_name = value.last
      self.middle_name = value.middle if respond_to?(:middle_name)
    end
def name=(value)
      value = Name.parse(value) if String === value
      
      value = Name.new(nil, nil) if value.nil?
      unless Name === value then
        raise ArgumentError.new("Name argument type invalid; expected <
      end
      self.first_name = value.first
      self.last_name = value.last
      self.middle_name = value.middle if respond_to?(:middle_name)
    end
def name = ( value ) value = Name . parse ( value ) if String === value # a missing name is equivalent to an empty name for our purposes here value = Name . new ( nil , nil ) if value . nil? unless Name === value then raise ArgumentError . new ( "Name argument type invalid; expected <#{Name}>, found <#{value.class}>" ) end self . first_name = value . first self . last_name = value . last self . middle_name = value . middle if respond_to? ( :middle_name ) end
Sets this Person's name to the name string or Name object.
 A string name argument is parsed using Name.parse.

 @quirk caTissue CaTissue person names are inconsistent: Participant has a middle name, User doesn't.
Sets this Person s name to the name string or Name object . A string name argument is parsed using Name . parse .