Class: TrailGuide::CombinedExperiment
Instance Attribute Summary
#participant
Class Method Summary
collapse
Instance Method Summary
collapse
#algorithm, #allow_conversion?, #allow_participation?, as_json, #choose!, #choose_variant!, clear_winner!, configure, #convert!, converted, declare_winner!, delete!, experiment_name, #initialize, participants, paused?, persisted?, reset!, run_callbacks, #run_callbacks, running?, save!, started?, stopped?, storage_key, target_sample_size_reached?, unconverted, #variant_chosen!, variants, winner, #winner, winner?
Class Method Details
.configuration ⇒ Object
9
10
11
|
# File 'lib/trail_guide/combined_experiment.rb', line 9
def configuration
@configuration ||= Experiments::CombinedConfig.new(self)
end
|
.pause! ⇒ Object
22
23
24
|
# File 'lib/trail_guide/combined_experiment.rb', line 22
def pause!
parent.pause!
end
|
.paused_at ⇒ Object
38
39
40
|
# File 'lib/trail_guide/combined_experiment.rb', line 38
def paused_at
parent.paused_at
end
|
.resume! ⇒ Object
30
31
32
|
# File 'lib/trail_guide/combined_experiment.rb', line 30
def resume!
parent.resume!
end
|
.start! ⇒ Object
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
18
19
20
|
# File 'lib/trail_guide/combined_experiment.rb', line 18
def start!
parent.start!
end
|
.started_at ⇒ Object
34
35
36
|
# File 'lib/trail_guide/combined_experiment.rb', line 34
def started_at
parent.started_at
end
|
.stop! ⇒ Object
26
27
28
|
# File 'lib/trail_guide/combined_experiment.rb', line 26
def stop!
parent.stop!
end
|
.stopped_at ⇒ Object
42
43
44
|
# File 'lib/trail_guide/combined_experiment.rb', line 42
def stopped_at
parent.stopped_at
end
|
Instance Method Details
#algorithm_choose!(metadata: nil) ⇒ Object
use the parent experiment as the algorithm and map to the matching variant
51
52
53
54
|
# File 'lib/trail_guide/combined_experiment.rb', line 51
def algorithm_choose!(metadata: nil)
variant = parent.new(participant.participant).choose!(metadata: metadata)
variants.find { |var| var == variant.name }
end
|