Class: CFA::Grub2::Default::KernelParams::ParamTree
- Inherits:
-
Object
- Object
- CFA::Grub2::Default::KernelParams::ParamTree
- Defined in:
- lib/cfa/grub2/default.rb
Overview
Represents parsed kernel parameters tree. Parses in initialization and backserilized by ‘to_string`. TODO: replace it via augeas parser when someone write lense
Instance Method Summary collapse
- #all_data ⇒ Object
- #data ⇒ Object
-
#initialize(line) ⇒ ParamTree
constructor
A new instance of ParamTree.
- #to_string ⇒ Object
Constructor Details
#initialize(line) ⇒ ParamTree
Returns a new instance of ParamTree.
212 213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'lib/cfa/grub2/default.rb', line 212 def initialize(line) pairs = (line || "").split(/\s/) .reject(&:empty?) .map { |e| e.split("=", 2) } @data = pairs.map do |k, v| { key: k, value: v || true, # kernel param without value have true operation: :keep } end end |
Instance Method Details
#all_data ⇒ Object
242 243 244 |
# File 'lib/cfa/grub2/default.rb', line 242 def all_data @data end |
#data ⇒ Object
238 239 240 |
# File 'lib/cfa/grub2/default.rb', line 238 def data @data.reject { |e| e[:operation] == :remove }.freeze end |
#to_string ⇒ Object
226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/cfa/grub2/default.rb', line 226 def to_string snippets = data.map do |e| if e[:value] == true e[:key] else "#{e[:key]}=#{e[:value]}" end end snippets.join(" ") end |