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.



158
159
160
161
162
163
# File 'lib/cfa/base_model.rb', line 158

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)


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

def defined?
  !data.nil?
end

#disableObject



169
170
171
# File 'lib/cfa/base_model.rb', line 169

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

#disabled?Boolean

Returns:

  • (Boolean)


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

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



165
166
167
# File 'lib/cfa/base_model.rb', line 165

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

#enabled?Boolean

Returns:

  • (Boolean)


173
174
175
176
177
# File 'lib/cfa/base_model.rb', line 173

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



196
197
198
199
200
# File 'lib/cfa/base_model.rb', line 196

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



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

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