Module: FeatureFlagger

Defined in:
lib/feature_flagger.rb,
lib/feature_flagger/model.rb,
lib/feature_flagger/control.rb,
lib/feature_flagger/feature.rb,
lib/feature_flagger/version.rb

Defined Under Namespace

Modules: Control, Model Classes: Feature, KeyNotFoundError

Constant Summary collapse

DEFAULT_CONFIG =
{ redis_namespace: 'rollout-control' }
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.configObject

TODO: rename to just config.


19
20
21
# File 'lib/feature_flagger.rb', line 19

def config
  @@config
end

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:


13
14
15
16
# File 'lib/feature_flagger.rb', line 13

def configure(&block)
  set_config
  yield self if block_given?
end

.redisObject


23
24
25
26
27
# File 'lib/feature_flagger.rb', line 23

def redis
  redis_conn = @@config[:redis]
  namespace  = @@config[:redis_namespace]
  @@redis ||= Redis::Namespace.new(namespace, redis: redis_conn)
end

.redis=(conn) ⇒ Object


29
30
31
32
# File 'lib/feature_flagger.rb', line 29

def redis=(conn)
  set_config
  @@config[:redis] = conn
end

.redis_namespace=(namespace) ⇒ Object


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

def redis_namespace=(namespace)
  set_config
  @@config[:redis_namespace] = namespace
end