class Ablab::Run
Attributes
experiment[R]
session_id[R]
Public Class Methods
new(experiment, session_id)
click to toggle source
# File lib/ablab.rb, line 91 def initialize(experiment, session_id) @experiment, @session_id = experiment, session_id end
Public Instance Methods
draw()
click to toggle source
# File lib/ablab.rb, line 114 def draw Random.new(session_id.hash ^ experiment.name.hash).rand(1000) end
group()
click to toggle source
# File lib/ablab.rb, line 107 def group return @group unless @group.nil? size = 1000.0 * (experiment.percentage_of_visitors) / 100.0 idx = (draw * experiment.groups.size / size).floor @group = experiment.groups[idx].try(:name) end
in_group?(name)
click to toggle source
# File lib/ablab.rb, line 95 def in_group?(name) group == name end
track_success!()
click to toggle source
# File lib/ablab.rb, line 103 def track_success! Ablab.tracker.track_success!(experiment.name, group, session_id) end
track_view!()
click to toggle source
# File lib/ablab.rb, line 99 def track_view! Ablab.tracker.track_view!(experiment.name, group, session_id) end