Class: SakaiInfo::PendingQuiz
Constant Summary
Constants inherited
from Quiz
Quiz::ACTIVE, Quiz::DELETED, Quiz::INACTIVE, Quiz::RETRACTED_FOR_EDITING
Instance Attribute Summary
Attributes inherited from Quiz
#dbrow, #site, #title
Attributes inherited from SakaiObject
#id
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Quiz
#access_control, #access_control_summary_serialization, all_serializations, #default_serialization, #initialize, #item_count, #items, #items_serialization, #section_count, #sections, #sections_serialization, #site_summary_serialization, #status, #summary_serialization
Methods included from ModProps
included
Methods inherited from SakaiObject
all_serializations, #dbrow_only_serialization, #dbrow_serialization, #default_serialization, descendants, #object_type_serialization, #serialize, #shell_serialization, #summary_serialization, #to_csv, #to_json, #to_yaml
Class Method Details
.clear_cache ⇒ Object
208
209
210
|
# File 'lib/sakai-info/quiz.rb', line 208
def self.clear_cache
@@cache = {}
end
|
.count_by_site_id(site_id) ⇒ Object
240
241
242
|
# File 'lib/sakai-info/quiz.rb', line 240
def self.count_by_site_id(site_id)
PendingQuiz.query_by_site_id(site_id).count
end
|
.find(id) ⇒ Object
213
214
215
216
217
218
219
220
221
222
223
|
# File 'lib/sakai-info/quiz.rb', line 213
def self.find(id)
id = id.to_s
if @@cache[id].nil?
row = DB.connect[:sam_assessmentbase_t].filter(:id => id.to_i).first
if row.nil?
raise ObjectNotFoundException.new(PendingQuiz, id)
end
@@cache[id] = PendingQuiz.new(row)
end
@@cache[id]
end
|
.find_by_site_id(site_id) ⇒ Object
234
235
236
237
238
|
# File 'lib/sakai-info/quiz.rb', line 234
def self.find_by_site_id(site_id)
PendingQuiz.query_by_site_id(site_id).all.collect do |row|
@@cache[row[:id]] = PendingQuiz.new(row, site_id)
end
end
|
.find_ids_by_site_id(site_id) ⇒ Object
244
245
246
|
# File 'lib/sakai-info/quiz.rb', line 244
def self.find_ids_by_site_id(site_id)
PendingQuiz.query_by_site_id(site_id).select(:id).all.collect { |row| row[:id] }
end
|
.query_by_site_id(site_id) ⇒ Object
225
226
227
228
229
230
231
232
|
# File 'lib/sakai-info/quiz.rb', line 225
def self.query_by_site_id(site_id)
db = DB.connect
db[:sam_assessmentbase_t].
where(:id =>
db[:sam_authzdata_t].select(:qualifierid).
where(:agentid => site_id,
:functionid => "EDIT_ASSESSMENT"))
end
|
Instance Method Details
#access_control_class ⇒ Object
#item_class ⇒ Object
256
257
258
|
# File 'lib/sakai-info/quiz.rb', line 256
def item_class
PendingQuizItem
end
|
#quiz_type ⇒ Object
248
249
250
|
# File 'lib/sakai-info/quiz.rb', line 248
def quiz_type
"pending"
end
|
#section_class ⇒ Object
252
253
254
|
# File 'lib/sakai-info/quiz.rb', line 252
def section_class
PendingQuizSection
end
|