Class: Hackle::ExperimentDecision

Inherits:
Object
  • Object
show all
Defined in:
lib/hackle/decision.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(variation, reason, config) ⇒ ExperimentDecision

Returns a new instance of ExperimentDecision.

Parameters:



18
19
20
21
22
# File 'lib/hackle/decision.rb', line 18

def initialize(variation, reason, config)
  @config = config
  @variation = variation
  @reason = reason
end

Instance Attribute Details

#configParameterConfig (readonly)

Returns:



13
14
15
# File 'lib/hackle/decision.rb', line 13

def config
  @config
end

#reasonString (readonly)

Returns:

  • (String)


10
11
12
# File 'lib/hackle/decision.rb', line 10

def reason
  @reason
end

#variationString (readonly)

Returns:

  • (String)


7
8
9
# File 'lib/hackle/decision.rb', line 7

def variation
  @variation
end

Instance Method Details

#==(other) ⇒ Object



31
32
33
34
35
36
# File 'lib/hackle/decision.rb', line 31

def ==(other)
  other.is_a?(self.class) &&
    variation == other.variation &&
    reason == other.reason &&
    config == other.config
end

#get(key, default_value = nil) ⇒ Object?

Parameters:

  • key (String)
  • default_value (Object, nil) (defaults to: nil)

Returns:

  • (Object, nil)


27
28
29
# File 'lib/hackle/decision.rb', line 27

def get(key, default_value = nil)
  config.get(key, default_value)
end

#to_sObject



38
39
40
# File 'lib/hackle/decision.rb', line 38

def to_s
  "ExperimentDecision(variation=#{variation}, reason=#{reason}, config=#{config})"
end