class OpenAssessment
Attributes
allow_file_upload[RW]
allow_latex[RW]
answer[RW]
criterions[RW]
graded_by[RW]
must_grade[RW]
name[RW]
peer_review[RW]
peer_review_due[RW]
peer_review_due_time[RW]
peer_review_start[RW]
peer_review_start_time[RW]
prompts[RW]
question_feedback_default_text[RW]
question_feedback_prompt[RW]
question_scoring_guideline[RW]
question_title[RW]
self_assessment[RW]
self_assessment_due[RW]
self_assessment_due_time[RW]
self_assessment_start[RW]
self_assessment_start_time[RW]
submission_due[RW]
submission_due_time[RW]
submission_start[RW]
submission_start_time[RW]
trainings[RW]
url_name[RW]
yaml[RW]
Public Class Methods
new(options={}, yaml={})
click to toggle source
Initializes the open assessment question
# File lib/ruql/open_assessment/open_assessment.rb, line 31 def initialize(options={}, yaml={}) @peer_review = options[:peer_review] || false @self_assessment = options[:self_assessment] @self_assessment = true if @self_assessment.nil? @prompts = [] @criterions = [] @trainings = [] @url_name = options[:url_name] || SecureRandom.hex @yaml = yaml @must_grade = @yaml["must_grade"] || 5 @graded_by = @yaml["graded_by"] || 3 @allow_file_upload = options[:allow_file_upload] || false @allow_latex = options[:allow_latex] || false # Parsing start/due dates start_date = @yaml["submission_start"] || Time.now.to_s end_date = @yaml["submission_due"] || (Time.now + 14).to_s peer_review_start = @yaml["peer_review_start"] || start_date peer_review_due = @yaml["peer_review_due"] || end_date self_assessment_start = @yaml["self_assessment_start"] || start_date self_assessment_due = @yaml["self_assessment_due"] || end_date @submission_start = Date.parse(start_date) @submission_due = Date.parse(end_date) @submission_start_time = @yaml["submission_start_time"] || "00:00" @submission_due_time = @yaml["submission_due_time"] || "00:00" @peer_review_start = Date.parse(peer_review_start) @peer_review_due = Date.parse(peer_review_due) @peer_review_start_time = @yaml["peer_review_start_time"] || "00:00" @peer_review_due_time = @yaml["peer_review_due_time"] || "00:00" @self_assessment_start = Date.parse(self_assessment_start) @self_assessment_due = Date.parse(self_assessment_due) @self_assessment_start_time = @yaml["self_assessment_start_time"] || "00:00" @self_assessment_due_time = @yaml["self_assessment_due_time"] || "00:00" # Default feedback settings @question_feedback_prompt = "Leave feedback" @question_feedback_default_text = "Let them know how they did" end
Public Instance Methods
add_simple_question()
click to toggle source
Adds fields for a simple_open_assessment question
# File lib/ruql/open_assessment/open_assessment.rb, line 116 def add_simple_question criterion = Criterion.new criterion.name("How'd you do?") criterion.label("Scoring Rubric") raise "Must have answer for question" if @question_answer.nil? criterion.prompt(@question_answer) criterions << criterion scoring_guidelines = @question_scoring_guideline || @@single_question_scores scoring_guidelines.each do |score_array| option = Option.new({ points: score_array[0] }) option.add_params(score_array) criterion.add_option(option) end end
criterion(*args, &block)
click to toggle source
Adds a criterion and evaluates its proc block.
# File lib/ruql/open_assessment/open_assessment.rb, line 105 def criterion(*args, &block) criterion = Criterion.new(*args) criterion.instance_eval(&block) raise "Missing criterion parameters" if criterion.missing_parameters? @criterions << criterion end
feedback_default_text(fb_text)
click to toggle source
Sets the default text for the feedback textarea
# File lib/ruql/open_assessment/open_assessment.rb, line 101 def feedback_default_text(fb_text) ; @question_feedback_default_text = fb_text ; end
feedback_prompt(fb_prompt)
click to toggle source
Sets the feedback prompt if you want students to leave feedback
# File lib/ruql/open_assessment/open_assessment.rb, line 97 def feedback_prompt(fb_prompt) ; @question_feedback_prompt = fb_prompt ; end
prompt(prompt)
click to toggle source
Adds a prompt to the question - you must have at least one
# File lib/ruql/open_assessment/open_assessment.rb, line 85 def prompt(prompt) ; @prompts << prompt ; end
scoring_guideline(score_array)
click to toggle source
Sets the scoring guidelines for a simple_open_assesment question
# File lib/ruql/open_assessment/open_assessment.rb, line 93 def scoring_guideline(score_array) ; @question_scoring_guideline = score_array ; end
student_training(*args, &block)
click to toggle source
Adds a student training question - only used with peer review enabled questions
# File lib/ruql/open_assessment/open_assessment.rb, line 135 def student_training(*args, &block) return unless @peer_review training = Training.new(*args) training.instance_eval(&block) @trainings << training end
title(title)
click to toggle source
Sets the title of the question
# File lib/ruql/open_assessment/open_assessment.rb, line 81 def title(title) ; @question_title = title ; end