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_event.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.4.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_clientObject (readonly)

Returns the value of attribute default_client.



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

def default_client
  @default_client
end

Class Method Details

.bool_variation(key, context, default_value) ⇒ Object



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

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

.closeObject



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

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

.configureObject



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

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



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

def flush
  ensure_configured!
  @default_client.flush
end

.identify(context) ⇒ Object



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

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

.json_variation(key, context, default_value) ⇒ Object



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

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



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

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

.restartObject



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

def restart
  ensure_configured!
  @default_client.restart
end

.string_variation(key, context, default_value) ⇒ Object



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

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



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

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

.variation_detail(key, context, default_value) ⇒ Object



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

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