module Split::Algorithms::BlockRandomization
Public Class Methods
choose_alternative(experiment)
click to toggle source
# File lib/split/algorithms/block_randomization.rb, line 9 def choose_alternative(experiment) minimum_participant_alternatives(experiment.alternatives).sample end
Private Class Methods
minimum_participant_alternatives(alternatives)
click to toggle source
# File lib/split/algorithms/block_randomization.rb, line 15 def minimum_participant_alternatives(alternatives) alternatives_by_count = alternatives.group_by(&:participant_count) min_group = alternatives_by_count.min_by { |k, v| k } min_group.last end