Class: Rubydojo::LessonsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Rubydojo::LessonsController
- Defined in:
- app/controllers/rubydojo/lessons_controller.rb
Instance Method Summary collapse
Instance Method Details
#run ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'app/controllers/rubydojo/lessons_controller.rb', line 10 def run code = params[:code].to_s eval_result = evaluate_ruby(code) render json: { stdout: eval_result[:stdout], result: eval_result[:result], error: eval_result[:error] } end |
#show ⇒ Object
5 6 7 8 |
# File 'app/controllers/rubydojo/lessons_controller.rb', line 5 def show @completed_lessons = session[:completed_lessons] || [] @is_completed = @completed_lessons.include?(@lesson.id.to_s) end |
#validate ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/controllers/rubydojo/lessons_controller.rb', line 21 def validate code = params[:code].to_s validation_code = @lesson.validation_code eval_result = evaluate_ruby(code, validation_code) if eval_result[:error].nil? # Mark lesson as completed session[:completed_lessons] ||= [] unless session[:completed_lessons].include?(@lesson.id.to_s) session[:completed_lessons] << @lesson.id.to_s end render json: { success: true, stdout: eval_result[:stdout], result: eval_result[:result] } else render json: { success: false, error: eval_result[:error], stdout: eval_result[:stdout] } end end |