Class: Hackle::Experiment
- Inherits:
-
Object
- Object
- Hackle::Experiment
- Defined in:
- lib/hackle/internal/model/experiment.rb
Instance Attribute Summary collapse
- #container_id ⇒ Integer? readonly
- #default_rule ⇒ Action readonly
- #execution_version ⇒ Integer readonly
- #id ⇒ Integer readonly
- #identifier_type ⇒ String readonly
- #key ⇒ Integer readonly
- #name ⇒ String? readonly
- #segment_overrides ⇒ Array<TargetRule> readonly
- #status ⇒ ExperimentStatus readonly
- #target_audiences ⇒ Array<Target> readonly
- #target_rules ⇒ Array<TargetRule> readonly
- #type ⇒ ExperimentType readonly
- #user_overrides ⇒ Hash{String => Integer} readonly
- #variations ⇒ Array<Variation> readonly
- #version ⇒ Integer readonly
- #winner_variation_id ⇒ Integer? readonly
Instance Method Summary collapse
- #get_variation_or_nil_by_id(id) ⇒ Hackle::Variation?
- #get_variation_or_nil_by_key(key) ⇒ Hackle::Variation?
-
#initialize(id:, key:, name:, type:, identifier_type:, status:, version:, execution_version:, variations:, user_overrides:, segment_overrides:, target_audiences:, target_rules:, default_rule:, container_id:, winner_variation_id:) ⇒ Experiment
constructor
A new instance of Experiment.
- #winner_variation_or_nil ⇒ Hackle::Variation?
Constructor Details
#initialize(id:, key:, name:, type:, identifier_type:, status:, version:, execution_version:, variations:, user_overrides:, segment_overrides:, target_audiences:, target_rules:, default_rule:, container_id:, winner_variation_id:) ⇒ Experiment
Returns a new instance of Experiment.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/hackle/internal/model/experiment.rb', line 69 def initialize( id:, key:, name:, type:, identifier_type:, status:, version:, execution_version:, variations:, user_overrides:, segment_overrides:, target_audiences:, target_rules:, default_rule:, container_id:, winner_variation_id: ) @id = id @key = key @name = name @type = type @identifier_type = identifier_type @status = status @version = version @execution_version = execution_version @variations = variations @user_overrides = user_overrides @segment_overrides = segment_overrides @target_audiences = target_audiences @target_rules = target_rules @default_rule = default_rule @container_id = container_id @winner_variation_id = winner_variation_id end |
Instance Attribute Details
#container_id ⇒ Integer? (readonly)
48 49 50 |
# File 'lib/hackle/internal/model/experiment.rb', line 48 def container_id @container_id end |
#default_rule ⇒ Action (readonly)
45 46 47 |
# File 'lib/hackle/internal/model/experiment.rb', line 45 def default_rule @default_rule end |
#execution_version ⇒ Integer (readonly)
27 28 29 |
# File 'lib/hackle/internal/model/experiment.rb', line 27 def execution_version @execution_version end |
#id ⇒ Integer (readonly)
6 7 8 |
# File 'lib/hackle/internal/model/experiment.rb', line 6 def id @id end |
#identifier_type ⇒ String (readonly)
18 19 20 |
# File 'lib/hackle/internal/model/experiment.rb', line 18 def identifier_type @identifier_type end |
#key ⇒ Integer (readonly)
9 10 11 |
# File 'lib/hackle/internal/model/experiment.rb', line 9 def key @key end |
#name ⇒ String? (readonly)
12 13 14 |
# File 'lib/hackle/internal/model/experiment.rb', line 12 def name @name end |
#segment_overrides ⇒ Array<TargetRule> (readonly)
36 37 38 |
# File 'lib/hackle/internal/model/experiment.rb', line 36 def segment_overrides @segment_overrides end |
#status ⇒ ExperimentStatus (readonly)
21 22 23 |
# File 'lib/hackle/internal/model/experiment.rb', line 21 def status @status end |
#target_audiences ⇒ Array<Target> (readonly)
39 40 41 |
# File 'lib/hackle/internal/model/experiment.rb', line 39 def target_audiences @target_audiences end |
#target_rules ⇒ Array<TargetRule> (readonly)
42 43 44 |
# File 'lib/hackle/internal/model/experiment.rb', line 42 def target_rules @target_rules end |
#type ⇒ ExperimentType (readonly)
15 16 17 |
# File 'lib/hackle/internal/model/experiment.rb', line 15 def type @type end |
#user_overrides ⇒ Hash{String => Integer} (readonly)
33 34 35 |
# File 'lib/hackle/internal/model/experiment.rb', line 33 def user_overrides @user_overrides end |
#variations ⇒ Array<Variation> (readonly)
30 31 32 |
# File 'lib/hackle/internal/model/experiment.rb', line 30 def variations @variations end |
#version ⇒ Integer (readonly)
24 25 26 |
# File 'lib/hackle/internal/model/experiment.rb', line 24 def version @version end |
#winner_variation_id ⇒ Integer? (readonly)
51 52 53 |
# File 'lib/hackle/internal/model/experiment.rb', line 51 def winner_variation_id @winner_variation_id end |
Instance Method Details
#get_variation_or_nil_by_id(id) ⇒ Hackle::Variation?
107 108 109 |
# File 'lib/hackle/internal/model/experiment.rb', line 107 def get_variation_or_nil_by_id(id) variations.find { |v| v.id == id } end |
#get_variation_or_nil_by_key(key) ⇒ Hackle::Variation?
113 114 115 |
# File 'lib/hackle/internal/model/experiment.rb', line 113 def get_variation_or_nil_by_key(key) variations.find { |v| v.key == key } end |
#winner_variation_or_nil ⇒ Hackle::Variation?
118 119 120 |
# File 'lib/hackle/internal/model/experiment.rb', line 118 def winner_variation_or_nil get_variation_or_nil_by_id(winner_variation_id) unless winner_variation_id.nil? end |