class AsposeEmailCloud::MapiContactPersonalInfoPropertySetDto

Specify other additional contact information.

Attributes

account[RW]

Specifies the account name of the contact

@return [String]

business_home_page[RW]

Specifies the contact's business web page URL

@return [String]

children[RW]

Contains a list of names of children.

@return [Array<String>]

computer_network_name[RW]

Specifies the name of the network to which the contact's computer is connected

@return [String]

customer_id[RW]

Specifies the contact's customer ID number

@return [String]

free_busy_location[RW]

Specifies a URL path from which a client can retrieve free/busy information for the contact as an iCal file

@return [String]

ftp_site[RW]

Specifies the contact's File Transfer Protocol (FTP) URL

@return [String]

gender[RW]

Gender of the contact. Enum, available values: Unspecified, Female, Male @return [String]

government_id_number[RW]

Specifies the contact's government ID number

@return [String]

hobbies[RW]

Specifies the hobbies of the contact

@return [String]

html[RW]

Specifies the contact's business web page URL

@return [String]

instant_messaging_address[RW]

Specifies the contact's instant messaging address

@return [String]

language[RW]

Specifies the language that the contact uses

@return [String]

location[RW]

Specifies the location of the contact

@return [String]

notes[RW]

Specifies the additional notes

@return [String]

organizational_id_number[RW]

Specifies an organizational ID number for the contact

@return [String]

personal_home_page[RW]

Specifies the contact's personal web page URL

@return [String]

referred_by_name[RW]

Specifies the name of the person who referred this contact to the user

@return [String]

spouse_name[RW]

Specifies the name of the contact's spouse/partner

@return [String]

Public Class Methods

attribute_map() click to toggle source

Attribute mapping from ruby-style variable name to JSON key.

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 89
def self.attribute_map
  {
    :'spouse_name' => :'spouseName',
    :'personal_home_page' => :'personalHomePage',
    :'language' => :'language',
    :'notes' => :'notes',
    :'hobbies' => :'hobbies',
    :'location' => :'location',
    :'instant_messaging_address' => :'instantMessagingAddress',
    :'organizational_id_number' => :'organizationalIdNumber',
    :'customer_id' => :'customerId',
    :'government_id_number' => :'governmentIdNumber',
    :'free_busy_location' => :'freeBusyLocation',
    :'account' => :'account',
    :'html' => :'html',
    :'business_home_page' => :'businessHomePage',
    :'ftp_site' => :'ftpSite',
    :'computer_network_name' => :'computerNetworkName',
    :'gender' => :'gender',
    :'referred_by_name' => :'referredByName',
    :'children' => :'children'
  }
end
new( spouse_name: nil, personal_home_page: nil, language: nil, notes: nil, hobbies: nil, location: nil, instant_messaging_address: nil, organizational_id_number: nil, customer_id: nil, government_id_number: nil, free_busy_location: nil, account: nil, html: nil, business_home_page: nil, ftp_site: nil, computer_network_name: nil, gender: nil, referred_by_name: nil, children: nil) click to toggle source

Initializes the object @param [String] spouse_name Specifies the name of the contact's spouse/partner

@param [String] personal_home_page Specifies the contact's personal web page URL

@param [String] language Specifies the language that the contact uses

@param [String] notes Specifies the additional notes

@param [String] hobbies Specifies the hobbies of the contact

@param [String] location Specifies the location of the contact

@param [String] instant_messaging_address Specifies the contact's instant messaging address

@param [String] organizational_id_number Specifies an organizational ID number for the contact

@param [String] customer_id Specifies the contact's customer ID number

@param [String] government_id_number Specifies the contact's government ID number

@param [String] free_busy_location Specifies a URL path from which a client can retrieve free/busy information for the contact as an iCal file

@param [String] account Specifies the account name of the contact

@param [String] html Specifies the contact's business web page URL

@param [String] business_home_page Specifies the contact's business web page URL

@param [String] ftp_site Specifies the contact's File Transfer Protocol (FTP) URL

@param [String] computer_network_name Specifies the name of the network to which the contact's computer is connected

@param [String] gender Gender of the contact. Enum, available values: Unspecified, Female, Male @param [String] referred_by_name Specifies the name of the person who referred this contact to the user

@param [Array<String>] children Contains a list of names of children.

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 158
def initialize(
  spouse_name: nil,
  personal_home_page: nil,
  language: nil,
  notes: nil,
  hobbies: nil,
  location: nil,
  instant_messaging_address: nil,
  organizational_id_number: nil,
  customer_id: nil,
  government_id_number: nil,
  free_busy_location: nil,
  account: nil,
  html: nil,
  business_home_page: nil,
  ftp_site: nil,
  computer_network_name: nil,
  gender: nil,
  referred_by_name: nil,
  children: nil)
  self.spouse_name = spouse_name if spouse_name
  self.personal_home_page = personal_home_page if personal_home_page
  self.language = language if language
  self.notes = notes if notes
  self.hobbies = hobbies if hobbies
  self.location = location if location
  self.instant_messaging_address = instant_messaging_address if instant_messaging_address
  self.organizational_id_number = organizational_id_number if organizational_id_number
  self.customer_id = customer_id if customer_id
  self.government_id_number = government_id_number if government_id_number
  self.free_busy_location = free_busy_location if free_busy_location
  self.account = account if account
  self.html = html if html
  self.business_home_page = business_home_page if business_home_page
  self.ftp_site = ftp_site if ftp_site
  self.computer_network_name = computer_network_name if computer_network_name
  self.gender = gender if gender
  self.referred_by_name = referred_by_name if referred_by_name
  self.children = children if children
end
swagger_types() click to toggle source

Attribute type mapping.

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 114
def self.swagger_types
  {
    :'spouse_name' => :'String',
    :'personal_home_page' => :'String',
    :'language' => :'String',
    :'notes' => :'String',
    :'hobbies' => :'String',
    :'location' => :'String',
    :'instant_messaging_address' => :'String',
    :'organizational_id_number' => :'String',
    :'customer_id' => :'String',
    :'government_id_number' => :'String',
    :'free_busy_location' => :'String',
    :'account' => :'String',
    :'html' => :'String',
    :'business_home_page' => :'String',
    :'ftp_site' => :'String',
    :'computer_network_name' => :'String',
    :'gender' => :'String',
    :'referred_by_name' => :'String',
    :'children' => :'Array<String>'
  }
end

Public Instance Methods

==(o) click to toggle source

Checks equality by comparing each attribute. @param [Object] Object to be compared

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 219
def ==(o)
  return true if self.equal?(o)
  self.class == o.class &&
      spouse_name == o.spouse_name &&
      personal_home_page == o.personal_home_page &&
      language == o.language &&
      notes == o.notes &&
      hobbies == o.hobbies &&
      location == o.location &&
      instant_messaging_address == o.instant_messaging_address &&
      organizational_id_number == o.organizational_id_number &&
      customer_id == o.customer_id &&
      government_id_number == o.government_id_number &&
      free_busy_location == o.free_busy_location &&
      account == o.account &&
      html == o.html &&
      business_home_page == o.business_home_page &&
      ftp_site == o.ftp_site &&
      computer_network_name == o.computer_network_name &&
      gender == o.gender &&
      referred_by_name == o.referred_by_name &&
      children == o.children
end
_deserialize(type, value) click to toggle source

Deserializes the data based on type @param string type Data type @param string value Value to be deserialized @return [Object] Deserialized data

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 281
def _deserialize(type, value)
  case type.to_sym
  when :DateTime
    DateTime.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :BOOLEAN
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    sub_type = value[:type] || value[:discriminator] || type
    if AsposeEmailCloud.const_defined?(sub_type)
      type = sub_type
    end
    temp_model = AsposeEmailCloud.const_get(type).new
    temp_model.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 351
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map { |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 258
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.swagger_types.each_pair do |key, type|
    attribute_key = self.class.attribute_map[key]
    attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
    if type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the the attribute
      # is documented as an array but the input is not
      if attributes[attribute_key].is_a?(Array)
        self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
      end
    elsif !attributes[attribute_key].nil?
      self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
    end # or else data not found in attributes(hash), not an issue as the data can be optional
  end

  self
end
eql?(o) click to toggle source

@see the `==` method @param [Object] Object to be compared

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 245
def eql?(o)
  self == o
end
hash() click to toggle source

Calculates hash code according to all attributes. @return [Fixnum] Hash code

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 251
def hash
  [spouse_name, personal_home_page, language, notes, hobbies, location, instant_messaging_address, organizational_id_number, customer_id, government_id_number, free_busy_location, account, html, business_home_page, ftp_site, computer_network_name, gender, referred_by_name, children].hash
end
list_invalid_properties() click to toggle source

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 201
def list_invalid_properties
  invalid_properties = Array.new
  if @gender.nil?
    invalid_properties.push('invalid value for "gender", gender cannot be nil.')
  end

  invalid_properties
end
to_body() click to toggle source

to_body is an alias to to_hash (backward compatibility) @return [Hash] Returns the object in the form of hash

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 331
def to_body
  to_hash
end
to_hash() click to toggle source

Returns the object in the form of hash @return [Hash] Returns the object in the form of hash

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 337
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = self.send(attr)
    next if value.nil?
    hash[param] = _to_hash(value)
  end
  hash
end
to_s() click to toggle source

Returns the string representation of the object @return [String] String presentation of the object

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 325
def to_s
  to_hash.to_s
end
valid?() click to toggle source

Check to see if the all the properties in the model are valid @return true if the model is valid

# File lib/aspose-email-cloud/models/mapi_contact_personal_info_property_set_dto.rb, line 212
def valid?
  return false if @gender.nil?
  true
end