Sha256: 11fc53e9a14cc24fa6318c553a20d3aab02bbc714163296d34df5843173cbaac
Contents?: true
Size: 616 Bytes
Versions: 10
Compression:
Stored size: 616 Bytes
Contents
class Gaku::Grading::Single::Ordinal < Gaku::Grading::Single::BaseMethod attr_accessor :criteria def grade_exam exam = @gradable percentage = Gaku::Grading::Single::Percentage.new(exam, @student).grade @result = { id: @student.id, score: ordinal(percentage['score']) } end private def ordinal(percentage) if percentage criteria.sort_by(&:last).reverse.find do |grade, min_points| percentage >= min_points.to_i end.first end end def criteria if @criteria.values.include? '0' @criteria else @criteria.merge('' => '0') end end end
Version data entries
10 entries across 10 versions & 2 rubygems