class Report::Json
Public Instance Methods
path(name,ext='.json')
click to toggle source
Force report to be saved there
# File lib/puppet/indirector/report/json.rb 10 def path(name,ext='.json') 11 Puppet[:lastrunreport] 12 end
save(request)
click to toggle source
# File lib/puppet/indirector/report/json.rb 14 def save(request) 15 filename = path(request.key) 16 mode = Puppet.settings.setting(:lastrunreport).mode 17 18 unless valid_symbolic_mode?(mode) 19 raise Puppet::DevError, _("replace_file mode: %{mode} is invalid") % { mode: mode } 20 end 21 22 mode = symbolic_mode_to_int(normalize_symbolic_mode(mode)) 23 24 FileUtils.mkdir_p(File.dirname(filename)) 25 26 begin 27 Puppet::FileSystem.replace_file(filename, mode) do |fh| 28 fh.print JSON.dump(request.instance) 29 end 30 rescue TypeError => detail 31 Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: self.name, request: request.key, detail: detail } 32 end 33 end