Class: LUSI::API::Person::LeaveDetails

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

Overview

Represents a student’s leaving details in the LUSI API

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(xml = nil, lookup = nil, last_attend_date: nil, leave_date: nil, leave_reason: nil) ⇒ void

Initialises a new LeaveDetails instance

Parameters:

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

    the parsed XML root of the leave details

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

    the lookup service for object resolution

  • last_attend_date (DateTime, nil) (defaults to: nil)

    the default date of last attendance

  • leave_date (DateTime, nil) (defaults to: nil)

    the default leave date

  • leave_reason (LUSI::API::Core::Code, nil) (defaults to: nil)

    the reason for leaving



37
38
39
40
41
# File 'lib/lusi_api/person/student.rb', line 37

def initialize(xml = nil, lookup = nil, last_attend_date: nil, leave_date: nil, leave_reason: nil)
  @leave_reason = LUSI::API::Core::Code.new(LUSI::API::Core::XML.xml_at(xml, 'xmlns:LeaveReason'), lookup)
  @leave_date = LUSI::API::Core::XML.xml_datetime_at(xml, 'xmlns:LeaveDate')
  @last_attend_date = LUSI::API::Core::XML.xml_datetime_at(xml, 'xmlns:LastAttendDate')
end

Instance Attribute Details

#last_attend_dateDateTime?

Returns the date of last attendance.

Returns:

  • (DateTime, nil)

    the date of last attendance



20
21
22
# File 'lib/lusi_api/person/student.rb', line 20

def last_attend_date
  @last_attend_date
end

#leave_dateDateTime?

Returns the date of leaving.

Returns:

  • (DateTime, nil)

    the date of leaving



24
25
26
# File 'lib/lusi_api/person/student.rb', line 24

def leave_date
  @leave_date
end

#leave_reasonLUSI::API::Core::Code?

Returns the reason for leaving.

Returns:



28
29
30
# File 'lib/lusi_api/person/student.rb', line 28

def leave_reason
  @leave_reason
end

Instance Method Details

#to_sString

Returns a string representation of the LeaveDetails instance

Returns:

  • (String)

    the string representation of the LeaveDetails instance



45
46
47
# File 'lib/lusi_api/person/student.rb', line 45

def to_s
  @leave_reason.to_s
end