class Senkyoshi::GradeCriteria

Attributes

outcome_def_id[R]

Public Class Methods

from_xml(xml) click to toggle source
# File lib/senkyoshi/models/grade_criteria.rb, line 35
def self.from_xml(xml)
  id = RuleCriteria.get_id xml
  negated = Senkyoshi.true? RuleCriteria.get_negated xml
  outcome_def_id = GradeCriteria.get_outcome_def_id xml
  new(id, outcome_def_id, negated)
end
get_outcome_def_id(xml) click to toggle source
# File lib/senkyoshi/models/grade_criteria.rb, line 31
def self.get_outcome_def_id(xml)
  xml.xpath("./OUTCOME_DEFINITION_ID/@value").text
end
new(id, outcome_def_id, negated) click to toggle source
Calls superclass method
# File lib/senkyoshi/models/grade_criteria.rb, line 21
def initialize(id, outcome_def_id, negated)
  super(id, negated)
  @outcome_def_id = outcome_def_id
  @foreign_content_id = nil
end

Public Instance Methods

canvas_conversion(course, content_id, resources) click to toggle source
Calls superclass method
# File lib/senkyoshi/models/grade_criteria.rb, line 56
def canvas_conversion(course, content_id, resources)
  set_foreign_ids(resources, @outcome_def_id)
  super(course, content_id, resources)
end
get_foreign_id() click to toggle source
# File lib/senkyoshi/models/grade_criteria.rb, line 27
def get_foreign_id
  @foreign_asidata_id || @foreign_content_id
end
set_foreign_ids(resources, outcome_def_id) click to toggle source

use gradebook to match outcome_definition_id to the assignment content id

# File lib/senkyoshi/models/grade_criteria.rb, line 46
def set_foreign_ids(resources, outcome_def_id)
  gradebook = resources.find_instances_of(Gradebook).first

  outcome = gradebook.find_outcome_def(outcome_def_id)
  if outcome
    @foreign_content_id = outcome.content_id
    @foreign_asidata_id = outcome.asidataid
  end
end