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.



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

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)


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

def defined?
  !data.nil?
end

#disableObject



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

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

#disabled?Boolean

Returns:

  • (Boolean)


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

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



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

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

#enabled?Boolean

Returns:

  • (Boolean)


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

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



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

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



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

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