Class: Verdict::Segmenters::RandomPercentageSegmenter

Inherits:
FixedPercentageSegmenter show all
Defined in:
lib/verdict/segmenters/random_percentage_segmenter.rb

Instance Attribute Summary collapse

Attributes inherited from BaseSegmenter

#experiment, #groups

Instance Method Summary collapse

Methods inherited from FixedPercentageSegmenter

#register_group, #verify!

Methods inherited from BaseSegmenter

#conversion_feedback, #group, #register_group, #verify!

Constructor Details

#initialize(*args) ⇒ RandomPercentageSegmenter

Returns a new instance of RandomPercentageSegmenter.



7
8
9
10
# File 'lib/verdict/segmenters/random_percentage_segmenter.rb', line 7

def initialize(*args)
  super
  @random = Random.new
end

Instance Attribute Details

#randomObject

Returns the value of attribute random.



5
6
7
# File 'lib/verdict/segmenters/random_percentage_segmenter.rb', line 5

def random
  @random
end

Instance Method Details

#assign(identifier, subject, context) ⇒ Object



12
13
14
15
# File 'lib/verdict/segmenters/random_percentage_segmenter.rb', line 12

def assign(identifier, subject, context)
  percentile = @random.rand(100)
  groups.values.find { |group| group.percentile_range.include?(percentile) }
end