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.



122
123
124
125
126
127
# File 'lib/cfa/base_model.rb', line 122

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)


149
150
151
# File 'lib/cfa/base_model.rb', line 149

def defined?
  !data.nil?
end

#disableObject



133
134
135
# File 'lib/cfa/base_model.rb', line 133

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

#disabled?Boolean

Returns:

  • (Boolean)


143
144
145
146
147
# File 'lib/cfa/base_model.rb', line 143

def disabled?
  return nil unless data

  data != @true_value
end

#enableObject



129
130
131
# File 'lib/cfa/base_model.rb', line 129

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

#enabled?Boolean

Returns:

  • (Boolean)


137
138
139
140
141
# File 'lib/cfa/base_model.rb', line 137

def enabled?
  return nil unless data

  data == @true_value
end

#inspectObject Also known as: to_s

enhanced inspect method to contain important data



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

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



155
156
157
# File 'lib/cfa/base_model.rb', line 155

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