Method: Chef::Provider::Package::Cab#parse_dism_get_packages

Defined in:
lib/chef/provider/package/cab.rb

#parse_dism_get_packages(text) ⇒ Object

returns a hash of package state information given the output of dism /get-packages expected keys: package_identity



134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/chef/provider/package/cab.rb', line 134

def parse_dism_get_packages(text)
  packages = []
  text.each_line do |line|
    key, value = line.split(":") if line.start_with?("Package Identity")
    next if key.nil? || value.nil?

    package = {}
    package[key.downcase.strip.tr(" ", "_")] = value.strip.chomp
    packages << package
  end
  packages
end