Class: Corral::Feature

Inherits:
Object
  • Object
show all
Defined in:
lib/corral/feature.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(feature, condition, disabled) ⇒ Feature

Returns a new instance of Feature.



5
6
7
8
9
# File 'lib/corral/feature.rb', line 5

def initialize(feature, condition, disabled)
  @feature = feature
  @condition = condition
  @disabled = disabled
end

Instance Attribute Details

#conditionObject (readonly)

Returns the value of attribute condition.



3
4
5
# File 'lib/corral/feature.rb', line 3

def condition
  @condition
end

#disabledObject (readonly)

Returns the value of attribute disabled.



3
4
5
# File 'lib/corral/feature.rb', line 3

def disabled
  @disabled
end

Class Method Details

.allObject



32
33
34
# File 'lib/corral/feature.rb', line 32

def all
  features
end

.disable(name, condition) ⇒ Object



24
25
26
# File 'lib/corral/feature.rb', line 24

def disable(name, condition)
  push(name, condition, true)
end

.enable(name, condition) ⇒ Object



20
21
22
# File 'lib/corral/feature.rb', line 20

def enable(name, condition)
  push(name, condition, false)
end

.featuresObject



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

def features
  @features ||= {}
end

.get(name) ⇒ Object



28
29
30
# File 'lib/corral/feature.rb', line 28

def get(name)
  features[name]
end

.push(name, condition, disabled = true) ⇒ Object



16
17
18
# File 'lib/corral/feature.rb', line 16

def push(name, condition, disabled = true)
  features[name] = new(name, condition, disabled)
end