Class: LUSI::API::Course::SyllabusRule

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

Overview

Represents a syllabus rule in the LUSI API

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(xml = nil, lookup = nil, level: nil, syllabus_rule_modules: nil, type: nil) ⇒ void

Initialises a new SyllabusRule instance

Parameters:



1100
1101
1102
1103
1104
1105
# File 'lib/lusi_api/course.rb', line 1100

def initialize(xml = nil, lookup = nil, level: nil, syllabus_rule_modules: nil, type: nil)
  @level = LUSI::API::Core::XML.xml_content_at(xml, 'xmlns:Level', level)
  @syllabus_rule_modules = LUSI::API::Core::XML.xml(xml, 'xmlns:SyllabusRuleModuless/xmlns:SyllabusRuleModule',
                                                    syllabus_rule_modules) { |s| SyllabusRuleModule.new(s, lookup) }
  @type = SyllabusRuleType.new(LUSI::API::Core::XML.xml_at(xml, 'xmlns:Type', type), lookup)
end

Instance Attribute Details

#levelString?

Returns the level this rule applies to (‘Module’, ‘Part II Year 3’ etc.).

Returns:

  • (String, nil)

    the level this rule applies to (‘Module’, ‘Part II Year 3’ etc.)



1083
1084
1085
# File 'lib/lusi_api/course.rb', line 1083

def level
  @level
end

#syllabus_rule_modulesArray<LUSI::API::Course::SyllabusRuleModule>?

Returns the list of modules included with this rule.

Returns:



1091
1092
1093
# File 'lib/lusi_api/course.rb', line 1091

def syllabus_rule_modules
  @syllabus_rule_modules
end

#typeLUSI::API::Course::SyllabusRuleType

Returns the rule type.

Returns:



1087
1088
1089
# File 'lib/lusi_api/course.rb', line 1087

def type
  @type
end

Instance Method Details

#to_sString

Returns a string representation of the SyllabusRule instance

Returns:

  • (String)

    the string representation of the SyllabusRule instance



1109
1110
1111
# File 'lib/lusi_api/course.rb', line 1109

def to_s
  "#{@level} #{@type}"
end