module Vanity::Metric::Definition

These methods are available when defining a metric in a file loaded from the experiments/metrics directory.

For example:

$ cat experiments/metrics/yawn_sec
metric "Yawns/sec" do
  description "Most boring metric ever"
end

Attributes

playground[R]

Public Instance Methods

metric(name, &block) click to toggle source

Defines a new metric, using the class Vanity::Metric.

# File lib/vanity/metric/base.rb, line 27
def metric(name, &block)
  fail "Metric #{@metric_id} already defined in playground" if playground.metrics[@metric_id]
  metric = Metric.new(playground, name.to_s, @metric_id)
  metric.instance_eval(&block)
  playground.metrics[@metric_id] = metric
end
new_binding(playground, id) click to toggle source
# File lib/vanity/metric/base.rb, line 34
def new_binding(playground, id)
  @playground, @metric_id = playground, id
  binding
end