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