about summary refs log tree commit diff stats
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/wittle/puzzles_controller.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/controllers/wittle/puzzles_controller.rb b/app/controllers/wittle/puzzles_controller.rb index b481460..8dc2ac8 100644 --- a/app/controllers/wittle/puzzles_controller.rb +++ b/app/controllers/wittle/puzzles_controller.rb
@@ -22,6 +22,14 @@ module Wittle
22 @puzzle = Puzzle.find(params[:id]) 22 @puzzle = Puzzle.find(params[:id])
23 @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id) 23 @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id)
24 @already_started = ((session[:started_puzzles] || []).include? @puzzle.id) 24 @already_started = ((session[:started_puzzles] || []).include? @puzzle.id)
25
26 unless @playable
27 if (session[:puzzle_solutions] || {}).has_key? @puzzle.id.to_s
28 @solution = session[:puzzle_solutions][@puzzle.id.to_s]
29 else
30 @solution = @puzzle.solved_data
31 end
32 end
25 end 33 end
26 34
27 def start 35 def start
@@ -45,6 +53,9 @@ module Wittle
45 53
46 session[:played_puzzles] ||= [] 54 session[:played_puzzles] ||= []
47 session[:played_puzzles] << @puzzle.id 55 session[:played_puzzles] << @puzzle.id
56
57 session[:puzzle_solutions] ||= {}
58 session[:puzzle_solutions][@puzzle.id] = params[:solved]
48 end 59 end
49 60
50 def submit 61 def submit