Class: CFA::Grub2::Default::KernelParams
- Inherits:
-
Object
- Object
- CFA::Grub2::Default::KernelParams
- Defined in:
- lib/cfa/grub2/default.rb
Overview
Represents kernel append line with helpers to easier modification. TODO: handle quoting, maybe have own lense to parse/serialize kernel
params?
Defined Under Namespace
Classes: ParamTree
Instance Attribute Summary collapse
-
#key ⇒ Object
readonly
Returns the value of attribute key.
Instance Method Summary collapse
-
#add_parameter(key, value, placer = AppendPlacer.new) ⇒ Object
Adds new parameter to kernel command line.
-
#empty? ⇒ Boolean
checks if there is any parameter.
-
#initialize(line, key) ⇒ KernelParams
constructor
A new instance of KernelParams.
-
#parameter(key) ⇒ Object
gets value for parameters.
-
#remove_parameter(matcher) ⇒ Object
Removes parameter from kernel command line.
-
#replace(line) ⇒ Object
replaces kernel params with passed line.
- #serialize ⇒ Object
Constructor Details
#initialize(line, key) ⇒ KernelParams
Returns a new instance of KernelParams.
138 139 140 141 |
# File 'lib/cfa/grub2/default.rb', line 138 def initialize(line, key) @tree = ParamTree.new(line) @key = key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
136 137 138 |
# File 'lib/cfa/grub2/default.rb', line 136 def key @key end |
Instance Method Details
#add_parameter(key, value, placer = AppendPlacer.new) ⇒ Object
Adds new parameter to kernel command line. Uses augeas placers. To replace value use ReplacePlacer
185 186 187 188 189 190 |
# File 'lib/cfa/grub2/default.rb', line 185 def add_parameter(key, value, placer = AppendPlacer.new) element = placer.new_element(@tree) element[:key] = key element[:value] = value end |
#empty? ⇒ Boolean
checks if there is any parameter
153 154 155 |
# File 'lib/cfa/grub2/default.rb', line 153 def empty? serialize.empty? end |
#parameter(key) ⇒ Object
gets value for parameters.
171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/cfa/grub2/default.rb', line 171 def parameter(key) values = @tree.data .select { |e| e[:key] == key } .map { |e| e[:value] } return false if values.empty? return values if values.size > 1 return true if values.first == true values.first end |
#remove_parameter(matcher) ⇒ Object
Removes parameter from kernel command line.
194 195 196 |
# File 'lib/cfa/grub2/default.rb', line 194 def remove_parameter(matcher) @tree.data.reject!(&matcher) end |
#replace(line) ⇒ Object
replaces kernel params with passed line
148 149 150 |
# File 'lib/cfa/grub2/default.rb', line 148 def replace(line) @tree = ParamTree.new(line) end |
#serialize ⇒ Object
143 144 145 |
# File 'lib/cfa/grub2/default.rb', line 143 def serialize @tree.to_string end |