{"record":{"id":"6725392ad3959886","repo":"ytti/oxidized","slug":"no-source-json-config-edit-oxidized-config-con","errorCode":null,"errorMessage":"No source json config, edit #{Oxidized::Config.configfile}","messagePattern":"No source json config, edit #(.+?)","errorType":"exception","errorClass":"NoConfig","httpStatus":null,"severity":"error","filePath":"lib/oxidized/source/jsonfile.rb","lineNumber":18,"sourceCode":"module Oxidized\n  module Source\n    class JSONFile < Source\n      require \"json\"\n      def initialize\n        @cfg = Oxidized.config.source.jsonfile\n        super\n      end\n\n      def setup\n        if @cfg.empty?\n          Oxidized.asetus.user.source.jsonfile.file      = File.join(Oxidized::Config::ROOT,\n                                                                     'router.json')\n          Oxidized.asetus.user.source.jsonfile.map.name  = \"name\"\n          Oxidized.asetus.user.source.jsonfile.map.model = \"model\"\n          Oxidized.asetus.user.source.jsonfile.gpg       = false\n          Oxidized.asetus.save :user\n          raise NoConfig, \"No source json config, edit #{Oxidized::Config.configfile}\"\n        end\n        require 'gpgme' if @cfg.gpg?\n\n        # map.name is mandatory\n        return if @cfg.map.has_key?('name')\n\n        raise InvalidConfig, \"map/name is a mandatory source attribute, edit #{Oxidized::Config.configfile}\"\n      end\n\n      def load(*)\n        data = JSON.parse(open_file.read)\n        data = string_navigate_object(data, @cfg.hosts_location) if @cfg.hosts_location?\n\n        transform_json(data)\n      end\n\n      private\n","sourceCodeStart":1,"sourceCodeEnd":36,"githubUrl":"https://github.com/ytti/oxidized/blob/687ed4262d9d21e54662e872e2383386d8498f7b/lib/oxidized/source/jsonfile.rb#L1-L36","documentation":"Error \"No source json config, edit #{Oxidized::Config.configfile}\" thrown in ytti/oxidized.","triggerScenarios":"Thrown at lib/oxidized/source/jsonfile.rb:18 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"687ed4262d9d21e54662e872e2383386d8498f7b","analyzedAt":"2026-08-23T11:19:42.084Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}