Sha256: f8771c465aafb2ce686c32b13b50abf57b71e2c6acf895024a58994d4714ff32

Contents?: true

Size: 935 Bytes

Versions: 99

Compression:

Stored size: 935 Bytes

Contents

require 'yaml'

module Facter
  module Util
    module Formatter

      def self.format_json(hash)
        if Facter.json?
          JSON.pretty_generate(hash)
        else
          raise "Cannot format facts as JSON; 'json' library is not present"
        end
      end

      def self.format_yaml(hash)
        YAML.dump(hash)
      end

      def self.format_plaintext(hash)
        output = ''

        # Print the value of a single fact, otherwise print a list sorted by fact
        # name and separated by "=>"
        if hash.length == 1
          if !(value = hash.values.first).nil?
            output = value.is_a?(String) ? value : value.inspect
          end
        else
          hash.sort_by { |(name, value)| name }.each do |name,value|
            value = value.is_a?(String) ? value : value.inspect
            output << "#{name} => #{value}\n"
          end
        end

        output
      end
    end
  end
end

Version data entries

99 entries across 99 versions & 2 rubygems

Version Path
facter-2.5.7 lib/facter/util/formatter.rb
facter-2.5.7-x86-mingw32 lib/facter/util/formatter.rb
facter-2.5.7-x64-mingw32 lib/facter/util/formatter.rb
facter-2.5.7-universal-darwin lib/facter/util/formatter.rb
facter-2.5.6-x86-mingw32 lib/facter/util/formatter.rb
facter-2.5.6-x64-mingw32 lib/facter/util/formatter.rb
facter-2.5.6-universal-darwin lib/facter/util/formatter.rb
facter-2.5.6 lib/facter/util/formatter.rb
facter-2.5.5-x86-mingw32 lib/facter/util/formatter.rb
facter-2.5.5-x64-mingw32 lib/facter/util/formatter.rb
facter-2.5.5-universal-darwin lib/facter/util/formatter.rb
facter-2.5.5 lib/facter/util/formatter.rb
facter-2.5.4-x86-mingw32 lib/facter/util/formatter.rb
facter-2.5.4-x64-mingw32 lib/facter/util/formatter.rb
facter-2.5.4-universal-darwin lib/facter/util/formatter.rb
facter-2.5.4 lib/facter/util/formatter.rb
bolt-0.24.0 vendored/facter/lib/facter/util/formatter.rb
bolt-0.23.0 vendored/facter/lib/facter/util/formatter.rb
bolt-0.22.0 vendored/facter/lib/facter/util/formatter.rb
bolt-0.21.8 vendored/facter/lib/facter/util/formatter.rb