Sha256: 36fb625c96a733486dfb1b89e09cfca6951966b2054718c0dfd9d0ce484e7cb0

Contents?: true

Size: 891 Bytes

Versions: 13

Compression:

Stored size: 891 Bytes

Contents

class ExerciseSolutionsController < AjaxController
  include Mumuki::Laboratory::Controllers::NestedInExercise
  include Mumuki::Laboratory::Controllers::ResultsRendering
  include Mumuki::Laboratory::Controllers::ExerciseSeed

  before_action :set_messages, only: :create
  before_action :validate_accessible!, only: :create

  def create
    assignment = @exercise.try_submit_solution!(current_user, solution_params)
    render_results_json assignment, status: assignment.visible_status
  end

  private

  def accessible_subject
    @exercise.navigable_parent
  end

  def set_messages
    @messages = @exercise.messages_for(current_user)
  end

  def solution_params
    {
      content: params.require(:solution).permit!.to_h[:content],
      client_result: params[:client_result].try { |it| it.permit(:status, test_results: [:title, :status, :result, :summary]).to_h }
    }
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mumuki-laboratory-9.23.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.22.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.21.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.20.1 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.20.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.19.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.18.1 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.18.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.17.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.16.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.15.0 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.14.1 app/controllers/exercise_solutions_controller.rb
mumuki-laboratory-9.14.0 app/controllers/exercise_solutions_controller.rb