class Ablab::Experiment
Attributes
callbacks[R]
control[R]
groups[R]
name[R]
Public Class Methods
new(name, &block)
click to toggle source
# File lib/ablab.rb, line 77 def initialize(name, &block) @name = name.to_sym @control = Group.new(:control, 'control group') @groups = [@control] @callbacks = [] instance_exec(&block) end
Public Instance Methods
description(desc = nil)
click to toggle source
# File lib/ablab.rb, line 85 def description(desc = nil) @description = desc if desc @description end
goal(goal = nil)
click to toggle source
# File lib/ablab.rb, line 90 def goal(goal = nil) @goal = goal if goal @goal end
group(name, options = {})
click to toggle source
# File lib/ablab.rb, line 100 def group(name, options = {}) group = Group.new(name, options[:description], options[:weight]) @groups << group end
on_track(&block)
click to toggle source
# File lib/ablab.rb, line 105 def on_track(&block) @callbacks << block end
percentage_of_visitors(percentage = nil)
click to toggle source
# File lib/ablab.rb, line 95 def percentage_of_visitors(percentage = nil) @percentage_of_visitors = percentage if percentage @percentage_of_visitors || 100 end
results()
click to toggle source
# File lib/ablab.rb, line 109 def results @result ||= Result.new(self) @result.data end
run(session_id, request)
click to toggle source
# File lib/ablab.rb, line 114 def run(session_id, request) Run.new(self, session_id, request) end