class SplitBuilder::Experiment

Attributes

metric_name[R]
name[R]

Public Class Methods

define(experiment_name, &block) click to toggle source
# File lib/builder/experiment.rb, line 4
def self.define(experiment_name, &block)
  new(experiment_name, &block)
end
new(experiment_name, &block) click to toggle source
# File lib/builder/experiment.rb, line 10
def initialize(experiment_name, &block)
  @name = experiment_name
  instance_exec(&block)
end

Public Instance Methods

alternatives() click to toggle source
# File lib/builder/experiment.rb, line 15
def alternatives
  @alternatives ||= []
end

Private Instance Methods

alternative(alternative_name, options = {}) click to toggle source
# File lib/builder/experiment.rb, line 31
def alternative(alternative_name, options = {})
  # TODO: class Alternative
  alternatives << options.merge(:name => alternative_name)
end
metric(metric_name, &block) click to toggle source

Builder DSL

# File lib/builder/experiment.rb, line 23
def metric(metric_name, &block)
  if @metric_name
    raise ExperimentAlreadyHasMetricError, "An experiment may not have more than one metric."
  end

  @metric_name = metric_name
end