Class: Togls::Toggler

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/togls/toggler.rb

Overview

Toggle Toggler

The Toggle Toggler provides the convenience interface of being able to toggle a feature on/off via the ‘on` or `off` methods respectively.

Instance Method Summary collapse

Constructor Details

#initialize(toggle_repository, toggle) ⇒ Toggler

Returns a new instance of Toggler.



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

def initialize(toggle_repository, toggle)
  @toggle_repository = toggle_repository
  @toggle = toggle
end

Instance Method Details

#offObject



23
24
25
26
27
28
# File 'lib/togls/toggler.rb', line 23

def off
  rule = Togls::Rules::Boolean.new(:off, :boolean, false)
  @toggle.rule = rule
  @toggle_repository.store(@toggle)
  @toggle
end

#on(rule = nil) ⇒ Object



16
17
18
19
20
21
# File 'lib/togls/toggler.rb', line 16

def on(rule = nil)
  rule = Togls::Rules::Boolean.new(:on, :boolean, true) if rule.nil?
  @toggle.rule = rule
  @toggle_repository.store(@toggle)
  @toggle
end