class Gaku::Grading::Single::Ordinal
Public Instance Methods
grade_exam()
click to toggle source
attr_accessor :criteria
# File lib/gaku/grading/single/ordinal.rb, line 5 def grade_exam exam = @gradable percentage = Gaku::Grading::Single::Percentage.new(exam, @student, gradable_scope).grade @result = { id: @student.id, score: ordinal(percentage['score']) } end
Private Instance Methods
criteria()
click to toggle source
# File lib/gaku/grading/single/ordinal.rb, line 21 def criteria if @criteria.values.include? '0' @criteria else @criteria.merge('' => '0') end end
ordinal(percentage)
click to toggle source
# File lib/gaku/grading/single/ordinal.rb, line 13 def ordinal(percentage) if percentage criteria.sort_by(&:last).reverse.find do |grade, min_points| percentage >= min_points.to_i end.first end end