Remove A/B test from Python20 course setup
This commit is contained in:
@ -1,44 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Python20CourseWeek
|
||||
|
||||
def self.get_for(exercise)
|
||||
case exercise.title
|
||||
when /Python20 Aufgabe 1/
|
||||
1
|
||||
when /Python20 Aufgabe 2/
|
||||
2
|
||||
when /Python20 Aufgabe 3.1/
|
||||
nil # Explicitly enable everything (linter + tips if available)!
|
||||
when /Python20 Aufgabe 3.2/
|
||||
3
|
||||
when /Python20 Aufgabe 3.3/
|
||||
3
|
||||
when /Python20 Aufgabe 3.4/
|
||||
3
|
||||
when /Python20 Aufgabe 4/
|
||||
4
|
||||
when /Python20 Snake/
|
||||
4
|
||||
else
|
||||
# Not part of the Python20 course
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
def self.show_tips?(exercise, user_id)
|
||||
week = get_for(exercise)
|
||||
return true if week.nil? # Exercise is not part of the experiment
|
||||
|
||||
user_group = UserGroupSeparator.get_tips_group(user_id)
|
||||
[1, 2].include?(week) && user_group == :show_tips
|
||||
end
|
||||
|
||||
def self.show_linter?(exercise, user_id)
|
||||
week = get_for(exercise)
|
||||
return true if week.nil? # Exercise is not part of the experiment
|
||||
|
||||
user_group = UserGroupSeparator.get_linter_group(user_id)
|
||||
[3].include?(week) && user_group == :show_linter
|
||||
end
|
||||
end
|
@ -1,30 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class UserGroupSeparator
|
||||
|
||||
# Different user groups for Python20 course based on last digit of the user_id
|
||||
# 0: show_tips && no_linter
|
||||
# 1: no_tips && show_linter
|
||||
# 2: show_tips && show_linter
|
||||
# 3: no_tips && no_linter
|
||||
|
||||
# separates user into 50% no tips, 50% with tips
|
||||
def self.get_tips_group(user_id)
|
||||
user_group = user_id % 4 # => 0, 1, 2, 3
|
||||
if [0, 2].include?(user_group)
|
||||
:show_tips
|
||||
else # [1, 3].include?(user_group)
|
||||
:no_tips
|
||||
end
|
||||
end
|
||||
|
||||
# separates user into 50% with linter, 50% without linter
|
||||
def self.get_linter_group(user_id)
|
||||
user_group = user_id % 4 # => 0, 1, 2, 3
|
||||
if [1, 2].include?(user_group)
|
||||
:show_linter
|
||||
else # [0, 3].include?(user_group)
|
||||
:no_linter
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user