lib/beaker-puppet/helpers/facter_helpers.rb in beaker-puppet-1.1.0 vs lib/beaker-puppet/helpers/facter_helpers.rb in beaker-puppet-1.2.0
- old
+ new
@@ -35,14 +35,20 @@
# @!macro common_opts
#
# @return String The value of the fact 'name' on the provided host
# @raise [FailTest] Raises an exception if call to facter fails
def fact_on(host, name, opts = {})
+ if opts.kind_of?(Hash)
+ opts.merge!({json: nil})
+ else
+ opts << ' --json'
+ end
+
result = on host, facter(name, opts)
if result.kind_of?(Array)
- result.map { |res| res.stdout.chomp }
+ result.map { |res| JSON.parse(res.stdout)[name] }
else
- result.stdout.chomp
+ JSON.parse(result.stdout)[name]
end
end
# Get a facter fact from the default host
# @see #fact_on