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.



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

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)


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

def defined?
  !data.nil?
end

#disableObject



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

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

#disabled?Boolean

Returns:

  • (Boolean)


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

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



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

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

#enabled?Boolean

Returns:

  • (Boolean)


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

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



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

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



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

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