diff options
author | Paul Berry <paul@puppetlabs.com> | 2010-11-09 16:11:52 -0800 |
---|---|---|
committer | Paul Berry <paul@puppetlabs.com> | 2010-11-09 16:13:47 -0800 |
commit | d4df9634b94e498bdd63089f2cd95d49d4baa7f1 (patch) | |
tree | e71446237201960de8d6bb4c743a655507a17720 /lib | |
parent | ee5f78a94e0aa1e12945e90f8c47d8be78ed00f8 (diff) | |
parent | 1fa87a9c1ed9f9a841936615d27c61dc1d2d7fce (diff) | |
download | facter-d4df9634b94e498bdd63089f2cd95d49d4baa7f1.tar.gz facter-d4df9634b94e498bdd63089f2cd95d49d4baa7f1.tar.xz facter-d4df9634b94e498bdd63089f2cd95d49d4baa7f1.zip |
Merge remote branch 'lusis/next' into next
Diffstat (limited to 'lib')
-rw-r--r-- | lib/facter/application.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/facter/application.rb b/lib/facter/application.rb index 9de9249..9d6bc34 100644 --- a/lib/facter/application.rb +++ b/lib/facter/application.rb @@ -31,6 +31,18 @@ module Facter exit(0) end + # Print the facts as JSON and exit + if options[:json] + begin + require 'json' + puts JSON.dump(facts) + exit(0) + rescue LoadError + $stderr.puts "You do not have JSON support in your version of Ruby. JSON output disabled" + exit(1) + end + end + # Print the value of a single fact, otherwise print a list sorted by fact # name and separated by "=>" if facts.length == 1 @@ -58,6 +70,7 @@ module Facter options = {} OptionParser.new do |opts| opts.on("-y", "--yaml") { |v| options[:yaml] = v } + opts.on("-j", "--json") { |v| options[:json] = v } opts.on( "--trace") { |v| options[:trace] = v } opts.on("-d", "--debug") { |v| Facter.debugging(1) } opts.on("-t", "--timing") { |v| Facter.timing(1) } |