class Catalog::Json

Public Instance Methods

from_json(text) click to toggle source
   # File lib/puppet/indirector/catalog/json.rb
 7 def from_json(text)
 8   utf8 = text.force_encoding(Encoding::UTF_8)
 9 
10   if utf8.valid_encoding?
11     model.convert_from(json_format, utf8)
12   else
13     Puppet.info(_("Unable to deserialize catalog from json, retrying with pson"))
14     model.convert_from('pson', text.force_encoding(Encoding::BINARY))
15   end
16 end
to_json(object) click to toggle source
   # File lib/puppet/indirector/catalog/json.rb
18 def to_json(object)
19   object.render(json_format)
20 rescue Puppet::Network::FormatHandler::FormatError => err
21   Puppet.info(_("Unable to serialize catalog to json, retrying with pson"))
22   Puppet.log_exception(err, err.message, level: :debug)
23   object.render('pson').force_encoding(Encoding::BINARY)
24 end

Private Instance Methods

json_format() click to toggle source
   # File lib/puppet/indirector/catalog/json.rb
28 def json_format
29   if Puppet[:rich_data]
30     'rich_data_json'
31   else
32     'json'
33   end
34 end