summaryrefslogtreecommitdiff
path: root/lib/facter/efibootmgr.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facter/efibootmgr.rb')
-rw-r--r--lib/facter/efibootmgr.rb30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/facter/efibootmgr.rb b/lib/facter/efibootmgr.rb
index fdf95e0..f4a03f4 100644
--- a/lib/facter/efibootmgr.rb
+++ b/lib/facter/efibootmgr.rb
@@ -1,19 +1,21 @@
-Facter.add('efi') do
- setcode do
- out = {}
- data = Facter::Core::Execution.execute('efibootmgr')
- boots = {}
- data.split("\n").each do |item|
- if a = item.match(/BootOrder: (.*)/) then
- out['BootOrder'] = a[1].split(',')
- elsif a = item.match(/(\w*): (.*)/) then
+if Facter::Core::Execution.which('efibootmgr') do
+ Facter.add('efi') do
+ setcode do
+ out = {}
+ data = Facter::Core::Execution.execute('efibootmgr')
+ boots = {}
+ data.split("\n").each do |item|
+ if a = item.match(/BootOrder: (.*)/) then
+ out['BootOrder'] = a[1].split(',')
+ elsif a = item.match(/(\w*): (.*)/) then
out[a[1]] = a[2]
- elsif a = item.match(/Boot(\d*)(\*?) (.*)/)
- # a[2] contains if it's active
- boots[a[1]] = a[3]
+ elsif a = item.match(/Boot(\d*)(\*?) (.*)/)
+ # a[2] contains if it's active
+ boots[a[1]] = a[3]
+ end
end
+ out['boots'] = boots
+ out
end
- out['boots'] = boots
- out
end
end