Module: Enabler

Defined in:
lib/enabler.rb,
lib/enabler/rule.rb,
lib/enabler/config.rb,
lib/enabler/version.rb,
lib/enabler/storage/redis.rb,
lib/enabler/errors/rule_already_defined_error.rb

Defined Under Namespace

Modules: Errors, Storage Classes: Config, Rule

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Class Method Details

.configObject



30
31
32
# File 'lib/enabler.rb', line 30

def config
  Enabler::Config.instance
end

.configure(&block) ⇒ Object



34
35
36
# File 'lib/enabler.rb', line 34

def configure(&block)
  config.instance_eval &block
end

.disable!(feature, object) ⇒ Object



21
22
23
24
# File 'lib/enabler.rb', line 21

def disable!(feature, object)
  store.remove!(feature, object)
  config.after_disablings[feature].call(object) if config.after_disablings[feature]
end

.enable!(feature, object) ⇒ Object



16
17
18
19
# File 'lib/enabler.rb', line 16

def enable!(feature, object)
  store.add!(feature, object)
  config.after_enablings[feature].call(object) if config.after_enablings[feature]
end

.enabled?(feature, object) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/enabler.rb', line 26

def enabled?(feature, object)
  enabled_via_rule?(feature, object) || enabled_via_storage?(feature, object)
end

.storeObject



12
13
14
# File 'lib/enabler.rb', line 12

def store
  config.store
end