module BitToggle
Constants
- VERSION
Public Instance Methods
disable(feature, object)
click to toggle source
# File lib/bit_toggle.rb, line 8 def disable(feature, object) $redis.srem(feature_key(feature), object_key(object)) end
disabled?(feature, object)
click to toggle source
# File lib/bit_toggle.rb, line 12 def disabled?(feature, object) !enabled?(feature, object) end
enable(feature, object)
click to toggle source
# File lib/bit_toggle.rb, line 16 def enable(feature, object) $redis.sadd(feature_key(feature), object_key(object)) end
enable_globally(feature)
click to toggle source
# File lib/bit_toggle.rb, line 20 def enable_globally(feature) enable(feature, :global) end
enabled?(feature, object)
click to toggle source
# File lib/bit_toggle.rb, line 24 def enabled?(feature, object) has_membership?(feature, object) || has_membership?(feature, :global) end
feature_key(feature)
click to toggle source
# File lib/bit_toggle.rb, line 28 def feature_key(feature) "features:#{feature.to_s}" end
object_key(object)
click to toggle source
# File lib/bit_toggle.rb, line 32 def object_key(object) "#{object.class}:#{object.to_s}" end
remove(feature)
click to toggle source
# File lib/bit_toggle.rb, line 36 def remove(feature) $redis.del(feature_key(feature)) end
Private Instance Methods
has_membership?(feature, object)
click to toggle source
# File lib/bit_toggle.rb, line 41 def has_membership?(feature, object) $redis.sismember(feature_key(feature), object_key(object)) end