Class: Submission

Inherits:
Object show all
Includes:
ActiveModel::Model
Defined in:
app/models/submission/submission.rb

Direct Known Subclasses

ConsoleSubmission, PersistentSubmission, Question

Instance Method Summary collapse

Instance Method Details

#evaluate!(assignment) ⇒ Object



16
17
18
19
20
# File 'app/models/submission/submission.rb', line 16

def evaluate!(assignment)
  try_evaluate! assignment
rescue => e
  {status: :errored, result: e.message}
end

#idObject



22
23
24
# File 'app/models/submission/submission.rb', line 22

def id
  @id ||= SecureRandom.hex(8)
end

#run!(assignment, evaluation) ⇒ Object



8
9
10
11
12
13
14
# File 'app/models/submission/submission.rb', line 8

def run!(assignment, evaluation)
  save_submission! assignment
  results = evaluation.evaluate! assignment, self
  save_results! results, assignment
  notify_results! results, assignment
  results
end