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