Class: CFA::BooleanValue
- Inherits:
-
Object
- Object
- CFA::BooleanValue
- Defined in:
- lib/cfa/base_model.rb
Overview
Represents a boolean value switcher in default grub configuration file. Allows easy switching and questioning for boolean value, even if represented by text in config file. It’s tristate: if unset, #enabled? and #disabled? return ‘nil` (but once set, we cannot return to an unset state).
Instance Method Summary collapse
-
#defined? ⇒ Boolean
True if the key has a value; false if #enabled? and #disabled? return ‘nil`.
-
#disable ⇒ Object
Set to false.
-
#disabled? ⇒ Boolean?
True, false, (nil if undefined).
-
#enable ⇒ Object
Set to true.
-
#enabled? ⇒ Boolean?
True, false, (nil if undefined).
-
#initialize(name, model, true_value: "true", false_value: "false") ⇒ BooleanValue
constructor
A new instance of BooleanValue.
-
#inspect ⇒ Object
(also: #to_s)
enhanced inspect method to contain important data.
-
#value=(value) ⇒ Object
sets boolean value, recommend to use for generic boolean setter.
Constructor Details
#initialize(name, model, true_value: "true", false_value: "false") ⇒ BooleanValue
Returns a new instance of BooleanValue.
179 180 181 182 183 184 |
# File 'lib/cfa/base_model.rb', line 179 def initialize(name, model, true_value: "true", false_value: "false") @name = name @model = model @true_value = true_value @false_value = false_value end |
Instance Method Details
#defined? ⇒ Boolean
Returns true if the key has a value; false if #enabled? and #disabled? return ‘nil`.
215 216 217 |
# File 'lib/cfa/base_model.rb', line 215 def defined? !data.nil? end |
#disable ⇒ Object
Set to false
192 193 194 |
# File 'lib/cfa/base_model.rb', line 192 def disable @model.generic_set(@name, @false_value) end |
#disabled? ⇒ Boolean?
Returns true, false, (nil if undefined).
205 206 207 208 209 210 |
# File 'lib/cfa/base_model.rb', line 205 def disabled? d = data return nil unless d d != @true_value end |
#enable ⇒ Object
Set to true
187 188 189 |
# File 'lib/cfa/base_model.rb', line 187 def enable @model.generic_set(@name, @true_value) end |
#enabled? ⇒ Boolean?
Returns true, false, (nil if undefined).
197 198 199 200 201 202 |
# File 'lib/cfa/base_model.rb', line 197 def enabled? d = data return nil unless d d == @true_value end |
#inspect ⇒ Object Also known as: to_s
enhanced inspect method to contain important data
227 228 229 230 231 |
# File 'lib/cfa/base_model.rb', line 227 def inspect "#<CFA::BooleanValue:0x#{object_id} name=#{@name.inspect}, " \ "data=#{data.inspect}, true_value=#{@true_value.inspect}, " \ "false_value=#{@false_value.inspect}>" end |
#value=(value) ⇒ Object
sets boolean value, recommend to use for generic boolean setter. for constants prefer to use enable/disable
222 223 224 |
# File 'lib/cfa/base_model.rb', line 222 def value=(value) @model.generic_set(@name, value ? @true_value : @false_value) end |