class LUSI::API::Course::SyllabusRule
Attributes
level[RW]
@!attribute [rw] level
@return [String, nil] the level this rule applies to ('Module', 'Part II Year 3' etc.)
syllabus_rule_modules[RW]
@!attribute [rw] syllabus_rule_modules
@return [Array<LUSI::API::Course::SyllabusRuleModule>, nil] the list of modules included with this rule
type[RW]
@!attribute [rw] type
@return [LUSI::API::Course::SyllabusRuleType] the rule type
Public Class Methods
new(xml = nil, lookup = nil, level: nil, syllabus_rule_modules: nil, type: nil)
click to toggle source
Initialises a new SyllabusRule
instance @param xml [Nokogiri::XML::Document, Nokogiri::XML::Node] the parsed XML root of the syllabus rule @param lookup [LUSI::API::Core::Lookup::LookupService, nil] the lookup service for object resolution @param level [String, nil] the default rule level @param type [LUSI::API::Course::SyllabusRuleType, nil] the default rule type @param syllabus_rule_modules
[Array<LUSI::API::Course::SyllabusRuleModule>, nil] the default rule modules @return [void]
# 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
Public Instance Methods
to_s()
click to toggle source
Returns a string representation of the SyllabusRule
instance @return [String] the string representation of the SyllabusRule
instance
# File lib/lusi_api/course.rb, line 1109 def to_s "#{@level} #{@type}" end