Class: LUSI::API::Person::ContactDetail

Inherits:
Object
  • Object
show all
Defined in:
lib/lusi_api/person/student.rb

Overview

Holds a person’s combined contact details (postal addresses, email addresses, phone numbers)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(xml = nil, lookup = nil, addresses: nil, institutional_email_address: nil, mobile_phone_number: nil, personal_email_address: nil) ⇒ void

Initialises a new ContactDetails instance

Parameters:

  • xml (Nokogiri::XML::Document, Nokogiri::XML::Node) (defaults to: nil)

    the parsed XML root of the contact details record

  • lookup (LUSI::API::Core::Lookup::LookupService, nil) (defaults to: nil)

    the lookup service for object resolution

  • addresses (Array<PersonAddress>, nil) (defaults to: nil)

    the default array of postal addresses

  • institutional_email_address (String, nil) (defaults to: nil)

    the default semi-colon-separated institutional email addresses

  • mobile_phone_number (String, nil) (defaults to: nil)

    the default mobile phone number

  • personal_email_address (String, nil) (defaults to: nil)

    the default semi-colon-separated personal email addresses



157
158
159
160
161
162
163
# File 'lib/lusi_api/person/student.rb', line 157

def initialize(xml = nil, lookup = nil, addresses: nil, institutional_email_address: nil, mobile_phone_number: nil,
               personal_email_address: nil)
  @addresses = LUSI::API::Core::XML.xml(xml, 'xmlns:Addresses/xmlns:PersonAddress') { |a| PersonAddress.new(a, lookup) }
  @institutional_email_address = email_list(xml, 'xmlns:LancasterEmailAddress', institutional_email_address)
  @mobile_phone_number = LUSI::API::Core::XML.xml_content_at(xml, 'xmlns:MobilePhoneNumber', mobile_phone_number)
  @personal_email_address = email_list(xml, 'xmlns:PersonalEmailAddress', personal_email_address)
end

Instance Attribute Details

#addressesArray<PersonAddress>?

Returns postal addresses as an array of PersonAddress instances.

Returns:

  • (Array<PersonAddress>, nil)

    postal addresses as an array of PersonAddress instances



132
133
134
# File 'lib/lusi_api/person/student.rb', line 132

def addresses
  @addresses
end

#institutional_email_addressObject Also known as: lancaster_email_address

Returns the value of attribute institutional_email_address.



140
141
142
# File 'lib/lusi_api/person/student.rb', line 140

def institutional_email_address
  @institutional_email_address
end

#lancaster_email_address=(value) ⇒ Array<String>?

Returns and array of institutional email addresses.

Returns:

  • (Array<String>, nil)

    and array of institutional email addresses



140
# File 'lib/lusi_api/person/student.rb', line 140

attr_accessor :institutional_email_address

#mobile_phone_numberObject

!@attribute [rw] mobile_phone_number

@return [String, nil] mobile phone number


144
145
146
# File 'lib/lusi_api/person/student.rb', line 144

def mobile_phone_number
  @mobile_phone_number
end

#personal_email_addressArray<String>?

Returns an array of personal email addresses.

Returns:

  • (Array<String>, nil)

    an array of personal email addresses



136
137
138
# File 'lib/lusi_api/person/student.rb', line 136

def personal_email_address
  @personal_email_address
end