Class: Featureflow::EventsClient

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

Instance Method Summary collapse

Constructor Details

#initialize(url, api_key) ⇒ EventsClient

Returns a new instance of EventsClient.



6
7
8
9
# File 'lib/featureflow/events_client.rb', line 6

def initialize(url, api_key)
  @url = url
  @api_key = api_key
end

Instance Method Details

#evaluate(key, evaluated_variant, expected_variant, context) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/featureflow/events_client.rb', line 23

def evaluate(key, evaluated_variant, expected_variant, context)
  Thread.new do
    send_event 'Evaluate Variant', :post, 'api/sdk/v1/events', [{
                                                                  featureKey: key,
                                                                  evaluatedVariant: evaluated_variant,
                                                                  expectedVaraint: expected_variant,
                                                                  context: context
                                                                }]
  end
end

#register_features(with_features) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/featureflow/events_client.rb', line 11

def register_features(with_features)
  Thread.new do
    features = []
    features = with_features.each do | feature |
      features.push(key: feature[:key],
                      variants: feature[:variants],
                      failoverVariant: feature[:failoverVariant])
    end
    send_event 'Register Features', :put, 'api/sdk/v1/register', features
  end
end