{"record":{"id":"f6ab64aa68cd8ef3","repo":"rouge-ruby/rouge","slug":"invalid-source-source-inspect","errorCode":null,"errorMessage":"Invalid source: #{source.inspect}","messagePattern":"Invalid source: #(.+?)","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/rouge/guessers/util.rb","lineNumber":29,"sourceCode":"        # @return [String,nil]\n        def self.normalize(source)\n          source.sub(UTF8_BOM_RE, '').gsub(/\\r\\n/, \"\\n\")\n        end\n      end\n\n      def test_glob(pattern, path)\n        File.fnmatch?(pattern, path, File::FNM_DOTMATCH | File::FNM_CASEFOLD)\n      end\n\n      # @param [String,IO] source\n      # @return [String]\n      def get_source(source)\n        if source.respond_to?(:to_str)\n          SourceNormalizer.normalize(source.to_str)\n        elsif source.respond_to?(:read)\n          SourceNormalizer.normalize(source.read)\n        else\n          raise ArgumentError, \"Invalid source: #{source.inspect}\"\n        end\n      end\n    end\n  end\nend\n","sourceCodeStart":11,"sourceCodeEnd":35,"githubUrl":"https://github.com/rouge-ruby/rouge/blob/bd7dad7b0939c556e582a0370686f6fc022c8af5/lib/rouge/guessers/util.rb#L11-L35","documentation":"Error \"Invalid source: #{source.inspect}\" thrown in rouge-ruby/rouge.","triggerScenarios":"Thrown at lib/rouge/guessers/util.rb:29 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":"bd7dad7b0939c556e582a0370686f6fc022c8af5","analyzedAt":"2026-08-23T11:34:50.713Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}