class Gaku::Grading::Collection::BaseMethod

Attributes

criteria[R]
gradable[R]
gradable_scope[R]
gradable_type[R]
results[R]
students[R]

Public Class Methods

new(gradable, students, gradable_scope, criteria = nil) click to toggle source

Pass a gradable object [exam or assignment] and students

# File lib/gaku/grading/collection/base_method.rb, line 8
def initialize(gradable, students, gradable_scope, criteria = nil)
  @gradable_scope = gradable_scope
  @gradable = gradable
  @students = students
  @criteria = criteria
  @result = []
end

Public Instance Methods

grade() click to toggle source

Obtain graded hash of results

# File lib/gaku/grading/collection/base_method.rb, line 17
def grade
  case @gradable
  when Gaku::Exam
    grade_exam
  when Gaku::Assignment
    grade_assignment(@gradable)
  end

  Gaku::Grading::Collection::Result.new(@gradable.id, @result).as_json
end