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.
135 136 137 138 |
# File 'lib/cfa/grub2/default.rb', line 135 def initialize(line, key) @tree = ParamTree.new(line) @key = key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
133 134 135 |
# File 'lib/cfa/grub2/default.rb', line 133 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
182 183 184 185 186 187 |
# File 'lib/cfa/grub2/default.rb', line 182 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
150 151 152 |
# File 'lib/cfa/grub2/default.rb', line 150 def empty? serialize.empty? end |
#parameter(key) ⇒ Object
gets value for parameters.
168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/cfa/grub2/default.rb', line 168 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.
191 192 193 |
# File 'lib/cfa/grub2/default.rb', line 191 def remove_parameter(matcher) @tree.data.reject!(&matcher) end |
#replace(line) ⇒ Object
replaces kernel params with passed line
145 146 147 |
# File 'lib/cfa/grub2/default.rb', line 145 def replace(line) @tree = ParamTree.new(line) end |
#serialize ⇒ Object
140 141 142 |
# File 'lib/cfa/grub2/default.rb', line 140 def serialize @tree.to_string end |