Module: Featureflip

Defined in:
lib/featureflip.rb,
lib/featureflip/client.rb,
lib/featureflip/config.rb,
lib/featureflip/errors.rb,
lib/featureflip/version.rb,
lib/featureflip/http/client.rb,
lib/featureflip/models/flag.rb,
lib/featureflip/shared_core.rb,
lib/featureflip/events/event.rb,
lib/featureflip/models/segment.rb,
lib/featureflip/store/flag_store.rb,
lib/featureflip/data_source/polling.rb,
lib/featureflip/evaluation/bucketing.rb,
lib/featureflip/evaluation/evaluator.rb,
lib/featureflip/data_source/streaming.rb,
lib/featureflip/events/event_processor.rb,
lib/featureflip/models/evaluation_detail.rb,
lib/featureflip/evaluation/condition_evaluator.rb

Defined Under Namespace

Modules: DataSource, Evaluation, Events, Http, Models, Store Classes: Client, Config, ConfigurationError, Error, InitializationError, SharedCore

Constant Summary collapse

VERSION =
"2.1.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_clientObject (readonly)

Returns the value of attribute default_client.



23
24
25
# File 'lib/featureflip.rb', line 23

def default_client
  @default_client
end

Class Method Details

.bool_variation(key, context, default_value) ⇒ Object



34
35
36
37
# File 'lib/featureflip.rb', line 34

def bool_variation(key, context, default_value)
  ensure_configured!
  @default_client.bool_variation(key, context, default_value)
end

.closeObject



74
75
76
77
78
79
80
# File 'lib/featureflip.rb', line 74

def close
  @mutex.synchronize do
    return unless @default_client
    @default_client.close
    @default_client = nil
  end
end

.configureObject



25
26
27
28
29
30
31
32
# File 'lib/featureflip.rb', line 25

def configure
  @mutex.synchronize do
    @config = Config.new
    yield @config if block_given?
    @config.validate!
    @default_client = Client.get(@config.sdk_key, config: @config)
  end
end

.flushObject



69
70
71
72
# File 'lib/featureflip.rb', line 69

def flush
  ensure_configured!
  @default_client.flush
end

.identify(context) ⇒ Object



64
65
66
67
# File 'lib/featureflip.rb', line 64

def identify(context)
  ensure_configured!
  @default_client.identify(context)
end

.json_variation(key, context, default_value) ⇒ Object



49
50
51
52
# File 'lib/featureflip.rb', line 49

def json_variation(key, context, default_value)
  ensure_configured!
  @default_client.json_variation(key, context, default_value)
end

.number_variation(key, context, default_value) ⇒ Object



44
45
46
47
# File 'lib/featureflip.rb', line 44

def number_variation(key, context, default_value)
  ensure_configured!
  @default_client.number_variation(key, context, default_value)
end

.restartObject



82
83
84
85
# File 'lib/featureflip.rb', line 82

def restart
  ensure_configured!
  @default_client.restart
end

.string_variation(key, context, default_value) ⇒ Object



39
40
41
42
# File 'lib/featureflip.rb', line 39

def string_variation(key, context, default_value)
  ensure_configured!
  @default_client.string_variation(key, context, default_value)
end

.track(event_key, context, metadata = nil) ⇒ Object



59
60
61
62
# File 'lib/featureflip.rb', line 59

def track(event_key, context,  = nil)
  ensure_configured!
  @default_client.track(event_key, context, )
end

.variation_detail(key, context, default_value) ⇒ Object



54
55
56
57
# File 'lib/featureflip.rb', line 54

def variation_detail(key, context, default_value)
  ensure_configured!
  @default_client.variation_detail(key, context, default_value)
end