class Flipflop::Strategies::RedisStrategy
Public Class Methods
default_description()
click to toggle source
# File lib/flipflop/strategies/redis_strategy.rb, line 5 def default_description "Stores features in Redis. Applies to all users." end
new(**options)
click to toggle source
Calls superclass method
Flipflop::Strategies::AbstractStrategy::new
# 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
Public Instance Methods
clear!(feature)
click to toggle source
# File lib/flipflop/strategies/redis_strategy.rb, line 30 def clear!(feature) @client.del(redis_key(feature)) end
enabled?(feature)
click to toggle source
# 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)
click to toggle source
# File lib/flipflop/strategies/redis_strategy.rb, line 26 def switch!(feature, enabled) @client.set(redis_key(feature), enabled ? "1" : "0") end
switchable?()
click to toggle source
# File lib/flipflop/strategies/redis_strategy.rb, line 16 def switchable? true end
Protected Instance Methods
redis_key(feature)
click to toggle source
# File lib/flipflop/strategies/redis_strategy.rb, line 36 def redis_key(feature) @prefix + feature.to_s end