Module: BitToggle
- Extended by:
- BitToggle
- Included in:
- BitToggle
- Defined in:
- lib/bit_toggle.rb,
lib/bit_toggle/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #disable(feature, object) ⇒ Object
- #disabled?(feature, object) ⇒ Boolean
- #enable(feature, object) ⇒ Object
- #enable_globally(feature) ⇒ Object
- #enabled?(feature, object) ⇒ Boolean
- #feature_key(feature) ⇒ Object
- #object_key(object) ⇒ Object
- #remove(feature) ⇒ Object
Instance Method Details
#disable(feature, object) ⇒ Object
8 9 10 |
# File 'lib/bit_toggle.rb', line 8 def disable(feature, object) $redis.srem(feature_key(feature), object_key(object)) end |
#disabled?(feature, object) ⇒ Boolean
12 13 14 |
# File 'lib/bit_toggle.rb', line 12 def disabled?(feature, object) !enabled?(feature, object) end |
#enable(feature, object) ⇒ Object
16 17 18 |
# File 'lib/bit_toggle.rb', line 16 def enable(feature, object) $redis.sadd(feature_key(feature), object_key(object)) end |
#enable_globally(feature) ⇒ Object
20 21 22 |
# File 'lib/bit_toggle.rb', line 20 def enable_globally(feature) enable(feature, :global) end |
#enabled?(feature, object) ⇒ Boolean
24 25 26 |
# File 'lib/bit_toggle.rb', line 24 def enabled?(feature, object) has_membership?(feature, object) || has_membership?(feature, :global) end |
#feature_key(feature) ⇒ Object
28 29 30 |
# File 'lib/bit_toggle.rb', line 28 def feature_key(feature) "features:#{feature.to_s}" end |
#object_key(object) ⇒ Object
32 33 34 |
# File 'lib/bit_toggle.rb', line 32 def object_key(object) "#{object.class}:#{object.to_s}" end |
#remove(feature) ⇒ Object
36 37 38 |
# File 'lib/bit_toggle.rb', line 36 def remove(feature) $redis.del(feature_key(feature)) end |