diff options
-rw-r--r-- | lib/facter/manufacturer.rb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/facter/manufacturer.rb b/lib/facter/manufacturer.rb index 049bcd9..128241c 100644 --- a/lib/facter/manufacturer.rb +++ b/lib/facter/manufacturer.rb @@ -1,13 +1,14 @@ # Info about the manufacturer # - + module Facter::Manufacturer def self.dmi_find_system_info(name) dmiinfo = `/usr/sbin/dmidecode` - info = dmiinfo.scan(/^\s*System Information(.*?)\n\S/m).join.split("\n").map { |line| - line.split(":").map { |line2| line2.strip } - }.reject { |array| array.empty? } - info.select { |array| array[0] == name} [0][1] + info = dmiinfo.scan(/^\s*System Information(.*?)\n\S/m).join.split("\n").map { |line| + line.split(":").map { |line2| line2.strip } + }.reject { |array| array.empty? } + val = info.find { |array| array[0] == name} + return (val && val.size >= 2) ? val[1] : nil end end |