class Enabler::Storage::Redis
Attributes
redis[R]
Public Class Methods
new(redis)
click to toggle source
# File lib/enabler/storage/redis.rb, line 7 def initialize(redis) @redis = redis end
Public Instance Methods
add!(feature, model)
click to toggle source
# File lib/enabler/storage/redis.rb, line 11 def add!(feature, model) redis.sadd key(feature, model), model.id end
enabled?(feature, model)
click to toggle source
# File lib/enabler/storage/redis.rb, line 19 def enabled?(feature, model) redis.sismember key(feature, model), model.id end
remove!(feature, model)
click to toggle source
# File lib/enabler/storage/redis.rb, line 15 def remove!(feature, model) redis.srem key(feature, model), model.id end
Private Instance Methods
key(feature, model)
click to toggle source
# File lib/enabler/storage/redis.rb, line 25 def key(feature, model) "enabler::#{underscore model.class.to_s}::#{underscore feature.to_s}" end
underscore(string)
click to toggle source
taking from active support
# File lib/enabler/storage/redis.rb, line 30 def underscore(string) string.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end