Sha256: 6be778ebac96a895c8e14fb77dfbf7ac50291af9c929bd8ddcf0d6c1409c6e73
Contents?: true
Size: 952 Bytes
Versions: 233
Compression:
Stored size: 952 Bytes
Contents
require 'puppet/resource/catalog' require 'puppet/indirector/json' class Puppet::Resource::Catalog::Json < Puppet::Indirector::JSON desc "Store catalogs as flat files, serialized using JSON." def from_json(text) utf8 = text.force_encoding(Encoding::UTF_8) if utf8.valid_encoding? model.convert_from(json_format, utf8) else Puppet.info(_("Unable to deserialize catalog from json, retrying with pson")) model.convert_from('pson', text.force_encoding(Encoding::BINARY)) end end def to_json(object) object.render(json_format) rescue Puppet::Network::FormatHandler::FormatError => err Puppet.info(_("Unable to serialize catalog to json, retrying with pson")) Puppet.log_exception(err, err.message, level: :debug) object.render('pson').force_encoding(Encoding::BINARY) end private def json_format if Puppet[:rich_data] 'rich_data_json' else 'json' end end end
Version data entries
233 entries across 233 versions & 2 rubygems