class TrailGuide::CombinedExperiment
Public Class Methods
configuration()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 9 def configuration @configuration ||= Experiments::CombinedConfig.new(self) end
is_combined?()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 13 def is_combined? true end
pause!()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 26 def pause! parent.pause! end
paused_at()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 42 def paused_at parent.paused_at end
resume!()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 34 def resume! parent.resume! end
start!()
click to toggle source
TODO if just I delegate on this inheriting class, will that override the defined methods on the base class? and will they interplay nicely? like with `started?` calling `started_at`, etc.?
really wishing i'd written some specs right about now :-P
# File lib/trail_guide/combined_experiment.rb, line 22 def start! parent.start! end
started_at()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 38 def started_at parent.started_at end
stop!()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 30 def stop! parent.stop! end
stopped_at()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 46 def stopped_at parent.stopped_at end
Public Instance Methods
algorithm_choose!(metadata: nil)
click to toggle source
use the parent experiment as the algorithm and map to the matching variant
# File lib/trail_guide/combined_experiment.rb, line 56 def algorithm_choose!(metadata: nil) variant = parent.choose!(metadata: metadata) variants.find { |var| var == variant.name } end
parent()
click to toggle source
# File lib/trail_guide/combined_experiment.rb, line 51 def parent @parent ||= self.class.parent.new(participant.participant) end