{"record":{"id":"1a70ac1a64a4fa4e","repo":"ruby/rubygems","slug":"trust-directory-dir-is-not-a-directory","errorCode":null,"errorMessage":"trust directory #{@dir} is not a directory","messagePattern":"trust directory #(.+?) is not a directory","errorType":"exception","errorClass":"Gem::Security::Exception","httpStatus":null,"severity":"error","filePath":"lib/rubygems/security/trust_dir.rb","lineNumber":108,"sourceCode":"    verify\n\n    destination = cert_path certificate\n\n    File.open destination, \"wb\", 0o600 do |io|\n      io.write certificate.to_pem\n      io.chmod(@permissions[:trusted_cert])\n    end\n  end\n\n  ##\n  # Make sure the trust directory exists.  If it does exist, make sure it's\n  # actually a directory.  If not, then create it with the appropriate\n  # permissions.\n\n  def verify\n    require \"fileutils\"\n    if File.exist? @dir\n      raise Gem::Security::Exception,\n        \"trust directory #{@dir} is not a directory\" unless\n          File.directory? @dir\n\n      FileUtils.chmod 0o700, @dir\n    else\n      FileUtils.mkdir_p @dir, mode: @permissions[:trust_dir]\n    end\n  end\nend\n","sourceCodeStart":90,"sourceCodeEnd":118,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/security/trust_dir.rb#L90-L118","documentation":"Error \"trust directory #{@dir} is not a directory\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/security/trust_dir.rb:108 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Point the trust directory option at an existing directory (create it first)"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}