class TrailGuide::Metrics::Config
Constants
- CALLBACK_KEYS
- INHERIT_KEYS
Attributes
metric[R]
Public Class Methods
new(metric, *args, **opts, &block)
click to toggle source
Calls superclass method
# File lib/trail_guide/metrics/config.rb, line 9 def initialize(metric, *args, **opts, &block) @metric = metric opts = INHERIT_KEYS.map do |key| val = experiment.configuration[key] val = val.dup if val [ key, val ] end.to_h.merge(opts) super(*args, **opts, &block) end
Public Instance Methods
allow_conversion(meth=nil, &block)
click to toggle source
TODO do we allow a method here? do we call it on the experiment?
# File lib/trail_guide/metrics/config.rb, line 34 def allow_conversion(meth=nil, &block) raise ArgumentError if meth.nil? && !block_given? self[:allow_conversion] ||= [] self[:allow_conversion] << (meth || block) end
allow_multiple_conversions?()
click to toggle source
# File lib/trail_guide/metrics/config.rb, line 29 def allow_multiple_conversions? !!allow_multiple_conversions end
callbacks()
click to toggle source
# File lib/trail_guide/metrics/config.rb, line 25 def callbacks to_h.slice(*CALLBACK_KEYS).map { |k,v| [k, [v].flatten.compact] }.to_h end
experiment()
click to toggle source
# File lib/trail_guide/metrics/config.rb, line 21 def experiment metric.experiment end
on_convert(meth=nil, &block)
click to toggle source
# File lib/trail_guide/metrics/config.rb, line 40 def on_convert(meth=nil, &block) raise ArgumentError if meth.nil? && !block_given? self[:on_convert] ||= [] self[:on_convert] << (meth || block) end