class SplitBuilder::Schema
Public Class Methods
define(&block)
click to toggle source
# File lib/builder/schema.rb, line 4 def self.define(&block) new(&block) end
new(&block)
click to toggle source
# File lib/builder/schema.rb, line 8 def initialize(&block) instance_exec(&block) end
Public Instance Methods
experiments()
click to toggle source
# File lib/builder/schema.rb, line 26 def experiments @experiments ||= [] end
get_metric_by_name(metric_name)
click to toggle source
# File lib/builder/schema.rb, line 14 def get_metric_by_name(metric_name) metrics.fetch(metric_name) end
goals()
click to toggle source
# File lib/builder/schema.rb, line 18 def goals @goals ||= [] end
metrics()
click to toggle source
# File lib/builder/schema.rb, line 22 def metrics @metrics ||= {} end
Private Instance Methods
experiment(experiment_name, &block)
click to toggle source
# File lib/builder/schema.rb, line 46 def experiment(experiment_name, &block) experiments << Experiment.define(experiment_name, &block) end
goal(goal_name)
click to toggle source
Builder DSL
# File lib/builder/schema.rb, line 34 def goal(goal_name) goals << goal_name end
metric(metric_name, &block)
click to toggle source
# File lib/builder/schema.rb, line 38 def metric(metric_name, &block) if metrics.key?(metric_name) raise MetricAlreadyDefinedError, "Can't define another metric with the same name: #{metric_name.inspect}" end metrics[metric_name] = Metric.define(metric_name, &block) end