Module: Feature
- Defined in:
- lib/toggles/feature.rb,
lib/toggles/feature/subject.rb,
lib/toggles/feature/operation/gt.rb,
lib/toggles/feature/operation/in.rb,
lib/toggles/feature/operation/range.rb
Defined Under Namespace
Modules: Operation, Subject
Classes: Attribute, ConstantLookup
Constant Summary
collapse
- Error =
Class.new(StandardError)
- Unknown =
Class.new(Error)
Class Method Summary
collapse
Class Method Details
.const_missing(sym) ⇒ Object
Deprecated.
This is an abuse of lazy dispatch that creates cryptic errors
16
17
18
|
# File 'lib/toggles/feature.rb', line 16
def self.const_missing(sym)
ConstantLookup.from(features, [:Feature]).const_missing(sym)
end
|
.disabled?(*sym, **criteria) ⇒ Boolean
28
29
30
|
# File 'lib/toggles/feature.rb', line 28
def self.disabled?(*sym, **criteria)
!enabled?(*sym, **criteria)
end
|
.enabled?(*sym, **criteria) ⇒ Boolean
20
21
22
23
24
25
26
|
# File 'lib/toggles/feature.rb', line 20
def self.enabled?(*sym, **criteria)
sym
.inject(features) { |a, e| a.fetch(e) }
.enabled_for?(criteria)
rescue KeyError
raise Unknown, sym.inspect
end
|
.features ⇒ Object
7
8
9
|
# File 'lib/toggles/feature.rb', line 7
def self.features
@features ||= {}
end
|
.operations ⇒ Object
11
12
13
|
# File 'lib/toggles/feature.rb', line 11
def self.operations
@operations ||= {}
end
|