class Criterion
Attributes
criterion_label[RW]
criterion_name[RW]
criterion_prompt[RW]
feedback[RW]
options[RW]
Public Class Methods
new(options={})
click to toggle source
Initializes a criterion
# File lib/ruql/open_assessment/criterion.rb, line 8 def initialize(options={}) @options = [] @feedback = options[:feedback] || "required" end
Public Instance Methods
add_option(option)
click to toggle source
Adds an already initialized option
# File lib/ruql/open_assessment/criterion.rb, line 36 def add_option(option) options << option end
label(label)
click to toggle source
Sets the criterion label
# File lib/ruql/open_assessment/criterion.rb, line 19 def label(label) ; @criterion_label = label ; end
missing_parameters?()
click to toggle source
Validation to make sure that all the required fields are in
# File lib/ruql/open_assessment/criterion.rb, line 42 def missing_parameters? @criterion_name.nil? || @criterion_label.nil? || @criterion_prompt.nil? end
name(name)
click to toggle source
Sets the criterion name
# File lib/ruql/open_assessment/criterion.rb, line 15 def name(name) ; @criterion_name = name ; end
option(*args, &block)
click to toggle source
Adds an option to the block and evaluates the proc bloc
# File lib/ruql/open_assessment/criterion.rb, line 27 def option(*args, &block) option = Option.new(*args) option.instance_eval(&block) raise "Missing option parameters" if option.missing_parameters? options << option end
prompt(prompt)
click to toggle source
Sets the criterion prompt
# File lib/ruql/open_assessment/criterion.rb, line 23 def prompt(prompt) ; @criterion_prompt = prompt ; end