class Mumuki::Classroom::Submission

Public Instance Methods

add_message!(message) click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 31
def add_message!(message)
  self.messages << Mumuki::Classroom::Message.new(message.as_json)
end
evaluate_manually!(comment, status) click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 26
def evaluate_manually!(comment, status)
  self.status = status
  self.manual_evaluation = comment
end
expectation_results() click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 35
def expectation_results
  self[:expectation_results]&.map do |expectation|
    {html: Mulang::Expectation.parse(expectation).translate, result: expectation['result']} # TODO translate with keywords
  end
end
manual_evaluation() click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 50
def manual_evaluation
  Mumukit::ContentType::Markdown.to_html(self[:manual_evaluation]) if self[:manual_evaluation]
end
thread(language) click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 41
def thread(language)
  {
    status: status,
    content: Mumukit::ContentType::Markdown.to_html(Mumukit::ContentType::Markdown.highlighted_code language, content || ''),
    messages: messages,
    created_at: created_at
  } if messages.present?
end
with_full_messages(user) click to toggle source
# File lib/mumuki/classroom/models/submission.rb, line 54
def with_full_messages(user)
  self.tap do |submission|
    submission[:messages] = messages.map do |message|
      message.with_full_messages user
    end
  end
end