Class: Featureflow::Evaluate

Inherits:
Object
  • Object
show all
Defined in:
lib/featureflow/evaluate.rb

Instance Method Summary collapse

Constructor Details

#initialize(feature_key:, feature:, failover_variant:, user:, salt:, events_client: nil) ⇒ Evaluate

Returns a new instance of Evaluate.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/featureflow/evaluate.rb', line 5

def initialize(feature_key:, feature:, failover_variant:, user:, salt:, events_client: nil)
  @key = feature_key
  @feature = feature
  @failover_variant = failover_variant
  @user = user
  @salt = salt
  @events_client = events_client

  @has_failover = @failover_variant.is_a?(String)
  @failover_variant = 'off' unless @has_failover

  @evaluated_variant = evaluate_variant
end

Instance Method Details

#is?(value) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/featureflow/evaluate.rb', line 19

def is?(value)
  @events_client.evaluate(@key, @evaluated_variant, value, @user) if @events_client
  @evaluated_variant == value
end

#off?Boolean Also known as: is_off?

Returns:

  • (Boolean)


29
30
31
# File 'lib/featureflow/evaluate.rb', line 29

def off?
  is? 'off'
end

#on?Boolean Also known as: is_on?

Returns:

  • (Boolean)


24
25
26
# File 'lib/featureflow/evaluate.rb', line 24

def on?
  is? 'on'
end

#valueObject



34
35
36
# File 'lib/featureflow/evaluate.rb', line 34

def value
  @evaluated_variant
end