class CandidateController < ApplicationController def welcome end def question candidate = Candidate.order("RAND()").first @status = QuizStatus.new(candidate) @question = candidate.fetch_question(candidate.questions.order("RAND()")[[*0..9].sample].id) # .where(input_type: 'live-coder') end def update_question redirect_to :summary and return if params.key?(:update) redirect_to :saved and return if params.key?(:save) redirect_to :question end def summary @candidate = Candidate.order("RAND()").first # Candidate.where(test_hash: '6NjnourLE6Y').first @quiz = @candidate.my_quiz @status = QuizStatus.new(@candidate) end def update_summary redirect_to :summary end def thankyou redirect_to root_path if session[:test_id].nil? reset_session end def saved end def validate candidate = Candidate.find_by(test_hash: params['test_id']) if candidate.nil? reset_session redirect_to root_path, alert: "Sorry, incorrect test id" else session[:test_id] = candidate.test_hash redirect_to :question end end def live_coder @question = Question.find(params[:question_id]) @answer = @question.answers.order("RAND()").first.answer render layout: false end private def question_params params.permit(:save) end end