Class: Flipflop::Strategies::RedisStrategy
Instance Attribute Summary
#description, #key, #name, #title
Class Method Summary
collapse
Instance Method Summary
collapse
default_name, #hidden?, #reset!
Constructor Details
Returns a new instance of RedisStrategy.
10
11
12
13
14
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 10
def initialize(**options)
@client = options.delete(:client) || ::Redis.new
@prefix = options.delete(:prefix).to_s.freeze
super(**options)
end
|
Class Method Details
.default_description ⇒ Object
5
6
7
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 5
def default_description
"Stores features in Redis. Applies to all users."
end
|
Instance Method Details
#clear!(feature) ⇒ Object
30
31
32
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 30
def clear!(feature)
@client.del(redis_key(feature))
end
|
#enabled?(feature) ⇒ Boolean
20
21
22
23
24
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 20
def enabled?(feature)
redis_value = @client.get(redis_key(feature))
return if redis_value.nil?
redis_value === "1"
end
|
#switch!(feature, enabled) ⇒ Object
26
27
28
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 26
def switch!(feature, enabled)
@client.set(redis_key(feature), enabled ? "1" : "0")
end
|
#switchable? ⇒ Boolean
16
17
18
|
# File 'lib/flipflop/strategies/redis_strategy.rb', line 16
def switchable?
true
end
|