class Qti::Models::AssessmentMeta

Public Instance Methods

access_code() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 144
def access_code
  code = sanitize_content!(tag_under_quiz('access_code'))
  return nil if code.to_s.empty?
  code
end
allowed_attempts() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 68
def allowed_attempts
  allowed_attempts_raw.to_i
end
allowed_attempts_raw() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 64
def allowed_attempts_raw
  tag_under_quiz('allowed_attempts')
end
anonymous_submissions() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 48
def anonymous_submissions
  tag_under_quiz('anonymous_submissions')
end
anonymous_submissions?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 52
def anonymous_submissions?
  string_true?(anonymous_submissions)
end
available() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 88
def available
  tag_under_quiz('available')
end
available?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 92
def available?
  string_true?(available)
end
cant_go_back() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 80
def cant_go_back
  tag_under_quiz('cant_go_back')
end
cant_go_back?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 84
def cant_go_back?
  string_true?(cant_go_back)
end
could_be_locked() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 56
def could_be_locked
  tag_under_quiz('could_be_locked')
end
could_be_locked?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 60
def could_be_locked?
  string_true?(could_be_locked)
end
description() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 8
def description
  sanitize_content!(tag_under_quiz('description'))
end
due_at() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 140
def due_at
  tag_under_quiz('due_at')
end
hide_correct_answers_at() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 167
def hide_correct_answers_at
  tag_under_quiz('hide_correct_answers_at')
end
hide_results() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 20
def hide_results
  tag_under_quiz('hide_results')
end
ip_filter() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 150
def ip_filter
  tag_under_quiz('ip_filter')
end
lock_at() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 132
def lock_at
  tag_under_quiz('lock_at')
end
lockdown_browser_monitor_data() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 195
def lockdown_browser_monitor_data
  tag_under_quiz('lockdown_browser_monitor_data')
end
module_locked() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 120
def module_locked
  tag_under_quiz('module_locked')
end
module_locked?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 124
def module_locked?
  string_true?(module_locked)
end
one_question_at_a_time() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 72
def one_question_at_a_time
  tag_under_quiz('one_question_at_a_time')
end
one_question_at_a_time?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 76
def one_question_at_a_time?
  one_question_at_a_time == 'true'
end
one_time_results() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 96
def one_time_results
  tag_under_quiz('one_time_results')
end
one_time_results?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 100
def one_time_results?
  string_true?(one_time_results)
end
only_visible_to_overreides() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 112
def only_visible_to_overreides
  tag_under_quiz('only_visible_to_overrides')
end
only_visible_to_overrides?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 116
def only_visible_to_overrides?
  string_true?(only_visible_to_overrides)
end
points_possible() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 36
def points_possible
  points_possible_raw.to_f
end
points_possible_raw() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 32
def points_possible_raw
  tag_under_quiz('points_possible')
end
quiz_identifier() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 128
def quiz_identifier
  @doc.xpath('//xmlns:quiz/xmlns:assignment/xmlns:quiz_identifierref')&.first&.content
end
quiz_type() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 28
def quiz_type
  tag_under_quiz('quiz_type')
end
require_lockdown_browser() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 171
def require_lockdown_browser
  tag_under_quiz('require_lockdown_browser')
end
require_lockdown_browser?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 175
def require_lockdown_browser?
  string_true?(require_lockdown_browser)
end
require_lockdown_browser_for_results() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 179
def require_lockdown_browser_for_results
  tag_under_quiz('require_lockdown_browser_for_results')
end
require_lockdown_browser_for_results?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 183
def require_lockdown_browser_for_results?
  string_true?(require_lockdown_browser_for_results)
end
require_lockdown_browser_monitor() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 187
def require_lockdown_browser_monitor
  tag_under_quiz('require_lockdown_browser_monitor')
end
require_lockdown_browser_monitor?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 191
def require_lockdown_browser_monitor?
  string_true?(require_lockdown_browser_monitor)
end
scoring_policy() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 24
def scoring_policy
  tag_under_quiz('scoring_policy')
end
show_correct_answers() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 40
def show_correct_answers
  tag_under_quiz('show_correct_answers')
end
show_correct_answers?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 44
def show_correct_answers?
  string_true?(show_correct_answers)
end
show_correct_answers_at() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 163
def show_correct_answers_at
  tag_under_quiz('show_correct_answers_at')
end
show_correct_answers_last_attempt() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 104
def show_correct_answers_last_attempt
  tag_under_quiz('show_correct_answers_last_attempt')
end
show_correct_answers_last_attempt?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 108
def show_correct_answers_last_attempt?
  string_true?(show_correct_answers_last_attempt)
end
shuffle_answers() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 12
def shuffle_answers
  tag_under_quiz('shuffle_answers')
end
shuffle_answers?() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 16
def shuffle_answers?
  string_true?(shuffle_answers)
end
time_limit() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 158
def time_limit
  return nil if time_limit_raw.nil?
  time_limit_raw.to_i
end
time_limit_raw() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 154
def time_limit_raw
  tag_under_quiz('time_limit')
end
title() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 4
def title
  sanitize_content!(tag_under_quiz('title'))
end
unlock_at() click to toggle source
# File lib/qti/models/assessment_meta.rb, line 136
def unlock_at
  tag_under_quiz('unlock_at')
end

Private Instance Methods

string_true?(value) click to toggle source
# File lib/qti/models/assessment_meta.rb, line 208
def string_true?(value)
  value&.casecmp('true')&.zero? || false
end
tag_under_quiz(tag) click to toggle source
# File lib/qti/models/assessment_meta.rb, line 201
def tag_under_quiz(tag)
  value = @doc.xpath("//xmlns:quiz/xmlns:#{tag}")&.first&.content
  # If the tag is present but has no content, return nil
  return nil if value.to_s.empty?
  value
end