summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/facter/application.rb14
-rw-r--r--lib/facter/arp.rb2
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/facter/application.rb b/lib/facter/application.rb
index 6b351b1..bd68149 100644
--- a/lib/facter/application.rb
+++ b/lib/facter/application.rb
@@ -9,19 +9,21 @@ module Facter
# Accept fact names to return from the command line
names = argv
- # Create the facts hash that is printed to standard out
- if names.empty?
- facts = Facter.to_hash
- else
+ # Create the facts hash that is printed to standard out.
+ # Pre-load all of the facts, since we can have multiple facts
+ # per file, and since we can't know ahead of time which file a
+ # fact will be in, we'll need to load every file.
+ facts = Facter.to_hash
+ unless names.empty?
facts = {}
- names.each { |name|
+ names.each do |name|
begin
facts[name] = Facter.value(name)
rescue => error
$stderr.puts "Could not retrieve #{name}: #{error}"
exit 10
end
- }
+ end
end
# Print the facts as YAML and exit
diff --git a/lib/facter/arp.rb b/lib/facter/arp.rb
index 85befa4..383fb48 100644
--- a/lib/facter/arp.rb
+++ b/lib/facter/arp.rb
@@ -8,7 +8,7 @@ Facter.add(:arp) do
arp = ""
output.each_line do |s|
if s =~ /^\S+\s\S+\s\S+\s(\S+)\s\S+\s\S+\s\S+$/
- arp = $1
+ arp = $1.downcase
break # stops on the first match
end
end