Class: Togls::Toggle

Inherits:
Object
  • Object
show all
Defined in:
lib/togls/toggle.rb

Direct Known Subclasses

NullToggle

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(feature) ⇒ Toggle

Returns a new instance of Toggle.



6
7
8
9
# File 'lib/togls/toggle.rb', line 6

def initialize(feature)
  @feature = feature
  @rule = Togls::Rules::Boolean.new(false)
end

Instance Attribute Details

#featureObject (readonly)

Returns the value of attribute feature.



3
4
5
# File 'lib/togls/toggle.rb', line 3

def feature
  @feature
end

#ruleObject

Returns the value of attribute rule.



4
5
6
# File 'lib/togls/toggle.rb', line 4

def rule
  @rule
end

Instance Method Details

#idObject



11
12
13
# File 'lib/togls/toggle.rb', line 11

def id
  @feature.id
end

#off?(target = nil) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/togls/toggle.rb', line 19

def off?(target = nil)
  return !@rule.run(@feature.key, target)
end

#on?(target = nil) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/togls/toggle.rb', line 15

def on?(target = nil)
  @rule.run(@feature.key, target)
end

#to_sObject



23
24
25
26
27
28
29
30
31
# File 'lib/togls/toggle.rb', line 23

def to_s
  if @rule.is_a?(Togls::Rules::Boolean)
    display_value = @rule.run(@feature.key) ? ' on' : 'off'
  else
    display_value = '  ?'
  end

  "#{display_value} - #{@feature.key} - #{@feature.description}"
end