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