module CFA::Grub2::InstallDeviceParser

specific parser for install devices. File format is easy element per line without comments. for better readability special values generic_mbr and activate is at the end of file

Public Class Methods

empty() click to toggle source
# File lib/cfa/grub2/install_device.rb, line 34
def self.empty
  []
end
parse(string) click to toggle source

returns list of non-empty lines

# File lib/cfa/grub2/install_device.rb, line 13
def self.parse(string)
  string.lines.map(&:strip).delete_if(&:empty?)
end
serialize(data) click to toggle source

gets list of devices and create file content from it

# File lib/cfa/grub2/install_device.rb, line 18
def self.serialize(data)
  # do not modify original data as serialize is not end of world
  data = data.dup

  activate = data.delete("activate")
  generic_mbr = data.delete("generic_mbr")

  res = data.join("\n")
  res << "\n" unless res.empty?

  res << "activate\n" if activate
  res << "generic_mbr\n" if generic_mbr

  res
end