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.



178
179
180
181
182
183
# File 'lib/cfa/base_model.rb', line 178

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)


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

def defined?
  !data.nil?
end

#disableObject



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

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

#disabled?Boolean

Returns:

  • (Boolean)


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

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



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

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

#enabled?Boolean

Returns:

  • (Boolean)


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

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



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

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



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

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