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