Class: CFA::BooleanValue

Inherits:
Object
  • Object
show all
Defined in:
lib/cfa/base_model.rb

Overview

Representing boolean value switcher in default grub configuration file. Allows easy switching and questioning for boolean value, even if represented by text in config file

Instance Method Summary collapse

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:

  • (Boolean)


206
207
208
# File 'lib/cfa/base_model.rb', line 206

def defined?
  !data.nil?
end

#disableObject



190
191
192
# File 'lib/cfa/base_model.rb', line 190

def disable
  @model.generic_set(@name, @false_value)
end

#disabled?Boolean

Returns:

  • (Boolean)


200
201
202
203
204
# File 'lib/cfa/base_model.rb', line 200

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



186
187
188
# File 'lib/cfa/base_model.rb', line 186

def enable
  @model.generic_set(@name, @true_value)
end

#enabled?Boolean

Returns:

  • (Boolean)


194
195
196
197
198
# File 'lib/cfa/base_model.rb', line 194

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



217
218
219
220
221
# File 'lib/cfa/base_model.rb', line 217

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



212
213
214
# File 'lib/cfa/base_model.rb', line 212

def value=(value)
  @model.generic_set(@name, value ? @true_value : @false_value)
end