Class: MusaLCEServer::Toggle
Overview
A stateful on/off control with a three-valued enabled property:
true (on), false (off available), :inactive (control is
known but currently not actionable, typically rendered dimmed).
Instance Attribute Summary collapse
-
#enabled ⇒ Boolean, Symbol
true,false, or:inactive.
Class Method Summary collapse
Instance Method Summary collapse
- #emit_all_state ⇒ Object
-
#enabled? ⇒ Boolean
True iff
enabledis exactlytrue. -
#inactive! ⇒ Object
Convenience: set to
:inactive. -
#inactive? ⇒ Boolean
True iff
enabledis:inactive. -
#initialize(**kwargs) ⇒ Toggle
constructor
A new instance of Toggle.
-
#off! ⇒ Object
Convenience: set to
false. -
#on! ⇒ Object
Convenience: set to
true. -
#toggle! ⇒ Object
Toggles between
trueandfalse.
Constructor Details
#initialize(**kwargs) ⇒ Toggle
Returns a new instance of Toggle.
262 263 264 265 |
# File 'lib/surface.rb', line 262 def initialize(**kwargs) super @enabled = :inactive end |
Instance Attribute Details
#enabled ⇒ Boolean, Symbol
Returns true, false, or :inactive.
260 261 262 |
# File 'lib/surface.rb', line 260 def enabled @enabled end |
Class Method Details
.type_name ⇒ Object
257 |
# File 'lib/surface.rb', line 257 def self.type_name = :toggle |
Instance Method Details
#emit_all_state ⇒ Object
303 304 305 306 |
# File 'lib/surface.rb', line 303 def emit_all_state super emit(:enabled, @enabled.to_s) end |
#enabled? ⇒ Boolean
Returns true iff enabled is exactly true.
277 278 279 |
# File 'lib/surface.rb', line 277 def enabled? @enabled == true end |
#inactive! ⇒ Object
Convenience: set to :inactive.
291 |
# File 'lib/surface.rb', line 291 def inactive! = (self.enabled = :inactive) |
#inactive? ⇒ Boolean
Returns true iff enabled is :inactive.
282 283 284 |
# File 'lib/surface.rb', line 282 def inactive? @enabled == :inactive end |
#off! ⇒ Object
Convenience: set to false.
289 290 |
# File 'lib/surface.rb', line 289 def off! = (self.enabled = false) # Convenience: set to +:inactive+. |
#on! ⇒ Object
Convenience: set to true.
287 288 |
# File 'lib/surface.rb', line 287 def on! = (self.enabled = true) # Convenience: set to +false+. |
#toggle! ⇒ Object
Toggles between true and false. From :inactive goes to
true (entering active service).
295 296 297 298 299 300 301 |
# File 'lib/surface.rb', line 295 def toggle! case @enabled when true then off! when false then on! else on! end end |