{"id":369741,"url":"https://github.com/rubygems/rubygems.org","last_synced_at":"2026-08-24T13:35:19.094Z","repository":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"packages":[{"id":14929755,"name":"github.com/rubygems/rubygems.org","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-08-11T18:48:09.000Z","latest_release_published_at":"2026-08-11T18:48:09.000Z","latest_release_number":"v0.0.0-20260811184809-c588a1025875","last_synced_at":"2026-08-22T13:45:29.983Z","created_at":"2026-08-12T00:32:00.522Z","updated_at":"2026-08-22T13:45:29.983Z","registry_url":"https://pkg.go.dev/github.com/rubygems/rubygems.org","install_command":"go get github.com/rubygems/rubygems.org","documentation_url":"https://pkg.go.dev/github.com/rubygems/rubygems.org#section-documentation","metadata":{},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T13:43:38.921Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":4.796011385411047,"dependent_packages_count":4.494101325906062,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.6450563556585545},"purl":"pkg:golang/github.com/rubygems/rubygems.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/rubygems/rubygems.org","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/rubygems/rubygems.org","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/rubygems/rubygems.org/dependencies","status":"removed","funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Frubygems%2Frubygems.org/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2281895,"maintainers_count":0,"namespaces_count":839487,"keywords_count":124977,"github":"golang","metadata":{"funded_packages_count":67925,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-24T05:01:22.286Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":236628,"name":"jqueryrails","ecosystem":"rubygems","description":"You probably meant `gem install jquery-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:54.181Z","latest_release_published_at":"2018-07-23T03:29:54.181Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.828Z","created_at":"2022-04-06T02:12:25.167Z","updated_at":"2026-08-23T13:05:06.829Z","registry_url":"https://rubygems.org/gems/jqueryrails","install_command":"gem install jqueryrails -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/jqueryrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T21:25:16.521Z","dependent_packages_count":0,"downloads":2624,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.21107232720624,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.612961438615777},"purl":"pkg:gem/jqueryrails","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/jqueryrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/jqueryrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/jqueryrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/jqueryrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:37:16.975Z","updated_at":"2022-11-09T09:37:16.975Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12187398,"name":"awssdkresources","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk-resources`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:50.195Z","latest_release_published_at":"2018-07-23T03:30:50.195Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:36.374Z","created_at":"2025-10-07T01:37:25.797Z","updated_at":"2026-08-23T13:04:36.374Z","registry_url":"https://gem.coop/gems/awssdkresources","install_command":"gem install awssdkresources -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/awssdkresources/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T14:03:02.905Z","dependent_packages_count":0,"downloads":2904,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":89.6960226658304,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.898674221943466},"purl":"pkg:gem/awssdkresources?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdkresources","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdkresources","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdkresources/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkresources/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T12:38:03.197Z","updated_at":"2025-10-07T12:38:03.197Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12316235,"name":"rubygemsupdate","ecosystem":"rubygems","description":"You probably meant `gem install rubygems-update`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:23.379Z","latest_release_published_at":"2018-07-23T03:29:23.379Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:36.930Z","created_at":"2025-10-07T05:38:48.086Z","updated_at":"2026-08-23T13:04:36.930Z","registry_url":"https://gem.coop/gems/rubygemsupdate","install_command":"gem install rubygemsupdate -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rubygemsupdate/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T13:47:42.683Z","dependent_packages_count":0,"downloads":2554,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.72911597729116,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.576371992430385},"purl":"pkg:gem/rubygemsupdate?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rubygemsupdate","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rubygemsupdate","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rubygemsupdate/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsupdate/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T05:14:07.789Z","updated_at":"2025-10-08T05:14:07.789Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12273918,"name":"mimetypes","ecosystem":"rubygems","description":"You probably meant `gem install mime-types`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:18.204Z","latest_release_published_at":"2018-07-23T03:29:18.204Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:38.036Z","created_at":"2025-10-07T04:18:19.592Z","updated_at":"2026-08-23T13:04:38.037Z","registry_url":"https://gem.coop/gems/mimetypes","install_command":"gem install mimetypes -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/mimetypes/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T15:45:33.785Z","dependent_packages_count":0,"downloads":2657,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.16238077729957,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.387460259099857},"purl":"pkg:gem/mimetypes?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/mimetypes","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/mimetypes","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/mimetypes/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypes/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:12:56.926Z","updated_at":"2025-10-07T23:12:56.926Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":160237,"name":"awssdkcore","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk-core`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:16.930Z","latest_release_published_at":"2018-07-23T03:30:16.930Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:38.192Z","created_at":"2022-04-05T17:36:07.911Z","updated_at":"2026-08-23T13:04:38.193Z","registry_url":"https://rubygems.org/gems/awssdkcore","install_command":"gem install awssdkcore -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/awssdkcore/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T15:34:30.871Z","dependent_packages_count":0,"downloads":2876,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.68932945876392,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.308612864927312},"purl":"pkg:gem/awssdkcore","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdkcore","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdkcore","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdkcore/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkcore/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T13:16:20.340Z","updated_at":"2022-11-07T13:16:20.340Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":259097,"name":"multixml","ecosystem":"rubygems","description":"You probably meant `gem install multi_xml`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:24.448Z","latest_release_published_at":"2018-07-23T03:31:24.448Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:41.379Z","created_at":"2022-04-06T05:05:21.160Z","updated_at":"2026-08-23T13:04:41.380Z","registry_url":"https://rubygems.org/gems/multixml","install_command":"gem install multixml -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/multixml/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T15:48:21.961Z","dependent_packages_count":0,"downloads":2536,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.51828670667332,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.67440431450919},"purl":"pkg:gem/multixml","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multixml","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multixml","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multixml/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multixml/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:41:25.583Z","updated_at":"2022-11-09T09:41:25.583Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12278876,"name":"multixml","ecosystem":"rubygems","description":"You probably meant `gem install multi_xml`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:24.448Z","latest_release_published_at":"2018-07-23T03:31:24.448Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:42.025Z","created_at":"2025-10-07T04:29:22.973Z","updated_at":"2026-08-23T13:04:42.025Z","registry_url":"https://gem.coop/gems/multixml","install_command":"gem install multixml -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/multixml/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T19:03:00.490Z","dependent_packages_count":0,"downloads":2536,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.04554670646056,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.68184890215352},"purl":"pkg:gem/multixml?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multixml","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multixml","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multixml/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multixml/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:53:14.685Z","updated_at":"2025-10-07T23:53:14.685Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12303700,"name":"railshtmlsanitizer","ecosystem":"rubygems","description":"You probably meant `gem install rails-html-sanitizer`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:01.176Z","latest_release_published_at":"2018-07-23T03:31:01.176Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:44.469Z","created_at":"2025-10-07T05:15:55.917Z","updated_at":"2026-08-23T13:04:44.469Z","registry_url":"https://gem.coop/gems/railshtmlsanitizer","install_command":"gem install railshtmlsanitizer -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/railshtmlsanitizer/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T14:25:17.472Z","dependent_packages_count":0,"downloads":2439,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.74201832878268,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.914006109594226},"purl":"pkg:gem/railshtmlsanitizer?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railshtmlsanitizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railshtmlsanitizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railshtmlsanitizer/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railshtmlsanitizer/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:42:09.575Z","updated_at":"2025-10-08T03:42:09.575Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12313956,"name":"rspecmocks","ecosystem":"rubygems","description":"You probably meant `gem install rspec-mocks`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:01.381Z","latest_release_published_at":"2018-07-23T03:29:01.381Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:42.861Z","created_at":"2025-10-07T05:34:24.164Z","updated_at":"2026-08-23T13:04:42.861Z","registry_url":"https://gem.coop/gems/rspecmocks","install_command":"gem install rspecmocks -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rspecmocks/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:24:06.649Z","dependent_packages_count":0,"downloads":2449,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.59954149274391,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.866513830914638},"purl":"pkg:gem/rspecmocks?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecmocks","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecmocks","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecmocks/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecmocks/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T04:58:17.855Z","updated_at":"2025-10-08T04:58:17.855Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":291193,"name":"rspecsupport","ecosystem":"rubygems","description":"You probably meant `gem install rspec-support`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:06.880Z","latest_release_published_at":"2018-07-23T03:29:06.880Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:43.044Z","created_at":"2022-04-06T09:47:32.620Z","updated_at":"2026-08-23T13:04:43.044Z","registry_url":"https://rubygems.org/gems/rspecsupport","install_command":"gem install rspecsupport -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rspecsupport/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:38:54.227Z","dependent_packages_count":0,"downloads":2434,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.0765456723467,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.786056107643866},"purl":"pkg:gem/rspecsupport","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecsupport","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecsupport","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecsupport/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecsupport/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:48:58.106Z","updated_at":"2022-11-09T09:48:58.106Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":160733,"name":"awssdkresources","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk-resources`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:50.195Z","latest_release_published_at":"2018-07-23T03:30:50.195Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:43.474Z","created_at":"2022-04-05T17:41:00.145Z","updated_at":"2026-08-23T13:04:43.474Z","registry_url":"https://rubygems.org/gems/awssdkresources","install_command":"gem install awssdkresources -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/awssdkresources/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T21:19:00.420Z","dependent_packages_count":0,"downloads":2904,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.87957815097151,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.346662603368827},"purl":"pkg:gem/awssdkresources","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdkresources","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdkresources","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdkresources/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdkresources/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T13:16:59.671Z","updated_at":"2022-11-07T13:16:59.671Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12303437,"name":"railsdeprecatedsanitizer","ecosystem":"rubygems","description":"You probably meant `gem install rails-deprecated_sanitizer`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:58.001Z","latest_release_published_at":"2018-07-23T03:31:58.001Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:45.849Z","created_at":"2025-10-07T05:15:17.897Z","updated_at":"2026-08-23T13:04:45.849Z","registry_url":"https://gem.coop/gems/railsdeprecatedsanitizer","install_command":"gem install railsdeprecatedsanitizer -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/railsdeprecatedsanitizer/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T01:15:47.848Z","dependent_packages_count":0,"downloads":2446,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.59954149274391,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.866513830914638},"purl":"pkg:gem/railsdeprecatedsanitizer?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railsdeprecatedsanitizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railsdeprecatedsanitizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railsdeprecatedsanitizer/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdeprecatedsanitizer/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:38:03.121Z","updated_at":"2025-10-08T03:38:03.121Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":160004,"name":"awssdk","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:38.608Z","latest_release_published_at":"2018-07-23T03:29:38.608Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:46.909Z","created_at":"2022-04-05T17:33:45.676Z","updated_at":"2026-08-23T13:04:46.909Z","registry_url":"https://rubygems.org/gems/awssdk","install_command":"gem install awssdk -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/awssdk/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T13:44:31.107Z","dependent_packages_count":0,"downloads":3012,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":90.71650876076826,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":30.91404872532818},"purl":"pkg:gem/awssdk","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdk","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdk","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdk/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awssdk/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T13:16:02.836Z","updated_at":"2022-11-07T13:16:02.836Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":287227,"name":"restclient","ecosystem":"rubygems","description":"You probably meant `gem install rest-client`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:32.982Z","latest_release_published_at":"2018-07-23T03:30:32.982Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:48.036Z","created_at":"2022-04-06T09:09:08.614Z","updated_at":"2026-08-23T13:04:48.036Z","registry_url":"https://rubygems.org/gems/restclient","install_command":"gem install restclient -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/restclient/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T01:53:53.342Z","dependent_packages_count":14,"downloads":77820,"downloads_period":"total","dependent_repos_count":36,"rankings":{"downloads":9.810396250532595,"dependent_repos_count":4.152369418466438,"dependent_packages_count":1.3708537980219335,"stargazers_count":1.0309914112080372,"forks_count":0.4557890251833247,"docker_downloads_count":null,"average":3.3640799806824653},"purl":"pkg:gem/restclient","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/restclient","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/restclient","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/restclient/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/restclient/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:48:09.412Z","updated_at":"2022-11-09T09:48:09.412Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":179617,"name":"coffeescript","ecosystem":"rubygems","description":"You probably meant `gem install coffee-script`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:11.480Z","latest_release_published_at":"2018-07-23T03:30:11.480Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:48.901Z","created_at":"2022-04-05T19:37:58.619Z","updated_at":"2026-08-23T13:04:48.901Z","registry_url":"https://rubygems.org/gems/coffeescript","install_command":"gem install coffeescript -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/coffeescript/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T01:38:20.394Z","dependent_packages_count":0,"downloads":3279,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":89.62864888720762,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":30.69647675061605},"purl":"pkg:gem/coffeescript","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeescript","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeescript","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeescript/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescript/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T14:30:54.492Z","updated_at":"2022-11-07T14:30:54.492Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12278693,"name":"multijson","ecosystem":"rubygems","description":"You probably meant `gem install multi_json`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:13.181Z","latest_release_published_at":"2018-07-23T03:29:13.181Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:50.434Z","created_at":"2025-10-07T04:29:08.860Z","updated_at":"2026-08-23T13:04:50.435Z","registry_url":"https://gem.coop/gems/multijson","install_command":"gem install multijson -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/multijson/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T22:58:52.338Z","dependent_packages_count":0,"downloads":4639,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":81.61343917297397,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.204479724324656},"purl":"pkg:gem/multijson?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multijson","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multijson","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multijson/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multijson/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:52:09.263Z","updated_at":"2025-10-07T23:52:09.263Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":292972,"name":"rubygemsupdate","ecosystem":"rubygems","description":"You probably meant `gem install rubygems-update`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:23.379Z","latest_release_published_at":"2018-07-23T03:29:23.379Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:50.385Z","created_at":"2022-04-06T10:03:20.291Z","updated_at":"2026-08-23T13:04:50.385Z","registry_url":"https://rubygems.org/gems/rubygemsupdate","install_command":"gem install rubygemsupdate -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rubygemsupdate/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T02:43:32.232Z","dependent_packages_count":0,"downloads":2554,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.20190174871469,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.61112732291746},"purl":"pkg:gem/rubygemsupdate","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rubygemsupdate","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rubygemsupdate","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rubygemsupdate/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsupdate/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:49:19.501Z","updated_at":"2022-11-09T09:49:19.501Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":290767,"name":"rspeccore","ecosystem":"rubygems","description":"You probably meant `gem install rspec-core`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:23:55.071Z","latest_release_published_at":"2018-07-23T03:23:55.071Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:52.842Z","created_at":"2022-04-06T09:42:39.831Z","updated_at":"2026-08-23T13:04:52.843Z","registry_url":"https://rubygems.org/gems/rspeccore","install_command":"gem install rspeccore -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rspeccore/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T08:30:33.557Z","dependent_packages_count":0,"downloads":2488,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.88224404055688,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.747195781285903},"purl":"pkg:gem/rspeccore","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspeccore","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspeccore","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspeccore/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspeccore/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:48:52.935Z","updated_at":"2022-11-09T09:48:52.935Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":281550,"name":"railshtmlsanitizer","ecosystem":"rubygems","description":"You probably meant `gem install rails-html-sanitizer`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:01.176Z","latest_release_published_at":"2018-07-23T03:31:01.176Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:52.473Z","created_at":"2022-04-06T08:19:40.708Z","updated_at":"2026-08-23T13:04:52.474Z","registry_url":"https://rubygems.org/gems/railshtmlsanitizer","install_command":"gem install railshtmlsanitizer -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/railshtmlsanitizer/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T21:38:27.740Z","dependent_packages_count":0,"downloads":2439,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.05072505301771,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.78089198377807},"purl":"pkg:gem/railshtmlsanitizer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railshtmlsanitizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railshtmlsanitizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railshtmlsanitizer/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railshtmlsanitizer/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:47:01.191Z","updated_at":"2022-11-09T09:47:01.191Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12281682,"name":"netscp","ecosystem":"rubygems","description":"You probably meant `gem install net-scp`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:09.555Z","latest_release_published_at":"2018-07-23T03:32:09.555Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:52.996Z","created_at":"2025-10-07T04:34:16.944Z","updated_at":"2026-08-23T13:04:52.997Z","registry_url":"https://gem.coop/gems/netscp","install_command":"gem install netscp -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/netscp/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:21:57.823Z","dependent_packages_count":0,"downloads":2579,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.83355681474113,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.61118560491371},"purl":"pkg:gem/netscp?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/netscp","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/netscp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/netscp/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netscp/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T00:39:31.247Z","updated_at":"2025-10-08T00:39:31.247Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12319801,"name":"sassrails","ecosystem":"rubygems","description":"You probably meant `gem install sass-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:59.050Z","latest_release_published_at":"2018-07-23T03:29:59.050Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:53.206Z","created_at":"2025-10-07T05:46:04.533Z","updated_at":"2026-08-23T13:04:53.206Z","registry_url":"https://gem.coop/gems/sassrails","install_command":"gem install sassrails -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/sassrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:51:16.632Z","dependent_packages_count":0,"downloads":2485,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.42060531352386,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.80686843784129},"purl":"pkg:gem/sassrails?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sassrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sassrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sassrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sassrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-09T21:12:59.534Z","updated_at":"2025-10-09T21:12:59.534Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12205525,"name":"concurrentruby","ecosystem":"rubygems","description":"You probably meant `gem install concurrent-ruby`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:07.519Z","latest_release_published_at":"2018-07-23T03:31:07.519Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:53.209Z","created_at":"2025-10-07T02:11:43.889Z","updated_at":"2026-08-23T13:04:53.209Z","registry_url":"https://gem.coop/gems/concurrentruby","install_command":"gem install concurrentruby -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/concurrentruby/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:56:37.060Z","dependent_packages_count":0,"downloads":2885,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":89.51164651685879,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.837215505619596},"purl":"pkg:gem/concurrentruby?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/concurrentruby","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/concurrentruby","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/concurrentruby/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/concurrentruby/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T14:52:44.460Z","updated_at":"2025-10-07T14:52:44.460Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12305778,"name":"rbfsevent","ecosystem":"rubygems","description":"You probably meant `gem install rb-fsevent`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:18.723Z","latest_release_published_at":"2018-07-23T03:31:18.723Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:53.414Z","created_at":"2025-10-07T05:19:40.062Z","updated_at":"2026-08-23T13:04:53.414Z","registry_url":"https://gem.coop/gems/rbfsevent","install_command":"gem install rbfsevent -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rbfsevent/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T13:22:38.560Z","dependent_packages_count":0,"downloads":2414,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.91522491349481,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.971741637831602},"purl":"pkg:gem/rbfsevent?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rbfsevent","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rbfsevent","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rbfsevent/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbfsevent/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:59:46.610Z","updated_at":"2025-10-08T03:59:46.610Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":179607,"name":"coffeerails","ecosystem":"rubygems","description":"You probably meant `gem install coffee-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:21.982Z","latest_release_published_at":"2018-07-23T03:30:21.982Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:53.594Z","created_at":"2022-04-05T19:37:53.778Z","updated_at":"2026-08-23T13:04:53.594Z","registry_url":"https://rubygems.org/gems/coffeerails","install_command":"gem install coffeerails -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/coffeerails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T12:24:51.037Z","dependent_packages_count":0,"downloads":2693,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":93.71811772797616,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.41152970980850684,"average":31.513797357614038},"purl":"pkg:gem/coffeerails","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeerails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeerails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeerails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeerails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T14:30:52.491Z","updated_at":"2022-11-07T14:30:52.491Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12273921,"name":"mimetypesdata","ecosystem":"rubygems","description":"You probably meant `gem install mime-types-data`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:15.361Z","latest_release_published_at":"2018-07-23T03:32:15.361Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:54.936Z","created_at":"2025-10-07T04:18:19.840Z","updated_at":"2026-08-23T13:04:54.936Z","registry_url":"https://gem.coop/gems/mimetypesdata","install_command":"gem install mimetypesdata -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/mimetypesdata/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T15:58:35.748Z","dependent_packages_count":0,"downloads":2521,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.23673681250946,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.745578937503154},"purl":"pkg:gem/mimetypesdata?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/mimetypesdata","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/mimetypesdata","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/mimetypesdata/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/mimetypesdata/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:12:48.957Z","updated_at":"2025-10-07T23:12:48.957Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12341909,"name":"threadsafe","ecosystem":"rubygems","description":"You probably meant `gem install thread_safe`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:28.638Z","latest_release_published_at":"2018-07-23T03:29:28.638Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:55.086Z","created_at":"2025-10-07T06:29:42.485Z","updated_at":"2026-08-23T13:04:55.086Z","registry_url":"https://gem.coop/gems/threadsafe","install_command":"gem install threadsafe -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/threadsafe/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T13:57:09.368Z","dependent_packages_count":0,"downloads":2593,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.74054054054054,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":1.0194594594594595,"forks_count":0.47243243243243244,"docker_downloads_count":null,"average":18.646486486486488},"purl":"pkg:gem/threadsafe?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/threadsafe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/threadsafe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/threadsafe/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/threadsafe/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-09T23:27:38.477Z","updated_at":"2025-10-09T23:27:38.477Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":283421,"name":"rbfsevent","ecosystem":"rubygems","description":"You probably meant `gem install rb-fsevent`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:18.723Z","latest_release_published_at":"2018-07-23T03:31:18.723Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:56.242Z","created_at":"2022-04-06T08:35:49.842Z","updated_at":"2026-08-23T13:04:56.243Z","registry_url":"https://rubygems.org/gems/rbfsevent","install_command":"gem install rbfsevent -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rbfsevent/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T17:20:36.626Z","dependent_packages_count":0,"downloads":2414,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.95503550733359,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.761754074641242},"purl":"pkg:gem/rbfsevent","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rbfsevent","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rbfsevent","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rbfsevent/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbfsevent/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:47:21.687Z","updated_at":"2022-11-09T09:47:21.687Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":290984,"name":"rspecmocks","ecosystem":"rubygems","description":"You probably meant `gem install rspec-mocks`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:01.381Z","latest_release_published_at":"2018-07-23T03:29:01.381Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:58.443Z","created_at":"2022-04-06T09:45:30.665Z","updated_at":"2026-08-23T13:04:58.444Z","registry_url":"https://rubygems.org/gems/rspecmocks","install_command":"gem install rspecmocks -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rspecmocks/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:49:35.973Z","dependent_packages_count":0,"downloads":2449,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.03470490797898,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.77768795477032},"purl":"pkg:gem/rspecmocks","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecmocks","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecmocks","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecmocks/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecmocks/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:48:55.770Z","updated_at":"2022-11-09T09:48:55.770Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":181091,"name":"concurrentruby","ecosystem":"rubygems","description":"You probably meant `gem install concurrent-ruby`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:07.519Z","latest_release_published_at":"2018-07-23T03:31:07.519Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:58.442Z","created_at":"2022-04-05T19:46:59.402Z","updated_at":"2026-08-23T13:04:58.442Z","registry_url":"https://rubygems.org/gems/concurrentruby","install_command":"gem install concurrentruby -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/concurrentruby/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2023-12-20T01:57:22.000Z","size":20966,"stargazers_count":2231,"open_issues_count":68,"forks_count":950,"subscribers_count":103,"default_branch":"master","last_synced_at":"2023-12-20T12:16:32.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2023-12-21T20:23:04.767Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"b387e76e-31fd-4475-ba26-9bae5cb67655","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":216305383,"owners_count":16006021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2024-08-30T23:57:50.609Z","dependent_packages_count":0,"downloads":2885,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.95907605892131,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.16256218495879},"purl":"pkg:gem/concurrentruby","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/concurrentruby","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/concurrentruby","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/concurrentruby/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2024-08-29T12:20:34.873Z","issues_count":271,"pull_requests_count":1539,"avg_time_to_close_issue":51520999.04848485,"avg_time_to_close_pull_request":888075.8012775017,"issues_closed_count":165,"pull_requests_closed_count":1409,"pull_request_authors_count":60,"issue_authors_count":72,"avg_comments_per_issue":4.206642066420664,"avg_comments_per_pull_request":1.3359324236517218,"merged_pull_requests_count":1321,"bot_issues_count":0,"bot_pull_requests_count":809,"past_year_issues_count":65,"past_year_pull_requests_count":1138,"past_year_avg_time_to_close_issue":1523093.794117647,"past_year_avg_time_to_close_pull_request":377455.8180970149,"past_year_issues_closed_count":34,"past_year_pull_requests_closed_count":1072,"past_year_pull_request_authors_count":37,"past_year_issue_authors_count":33,"past_year_avg_comments_per_issue":2.0153846153846153,"past_year_avg_comments_per_pull_request":1.12390158172232,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":649,"past_year_merged_pull_requests_count":1014,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":352,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":98,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":86,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"indirect","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"colby-swandale","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"sonalkr132","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"qrush","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"aellispierce","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"deivid-rodriguez","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"segiddins","count":225,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":86,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":80,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"indirect","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"deivid-rodriguez","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/concurrentruby/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T14:36:29.254Z","updated_at":"2022-11-07T14:36:29.254Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":316471,"name":"threadsafe","ecosystem":"rubygems","description":"You probably meant `gem install thread_safe`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:28.638Z","latest_release_published_at":"2018-07-23T03:29:28.638Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:58.531Z","created_at":"2022-04-06T11:46:44.726Z","updated_at":"2026-08-23T13:04:58.531Z","registry_url":"https://rubygems.org/gems/threadsafe","install_command":"gem install threadsafe -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/threadsafe/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T20:07:29.403Z","dependent_packages_count":0,"downloads":2593,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.17553633555147,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.41152970980850684,"average":31.6052810791291},"purl":"pkg:gem/threadsafe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/threadsafe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/threadsafe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/threadsafe/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/threadsafe/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:54:05.764Z","updated_at":"2022-11-09T09:54:05.764Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":283461,"name":"rbinotify","ecosystem":"rubygems","description":"You probably meant `gem install rb-inotify`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:29.594Z","latest_release_published_at":"2018-07-23T03:31:29.594Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.165Z","created_at":"2022-04-06T08:36:11.831Z","updated_at":"2026-08-23T13:04:59.166Z","registry_url":"https://rubygems.org/gems/rbinotify","install_command":"gem install rbinotify -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rbinotify/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T18:16:00.472Z","dependent_packages_count":0,"downloads":2474,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.82091579689461,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.73493013255345},"purl":"pkg:gem/rbinotify","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rbinotify","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rbinotify","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rbinotify/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rbinotify/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:47:22.301Z","updated_at":"2022-11-09T09:47:22.301Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":281357,"name":"railsdomtesting","ecosystem":"rubygems","description":"You probably meant `gem install rails-dom-testing`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:56.024Z","latest_release_published_at":"2018-07-23T03:30:56.024Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.184Z","created_at":"2022-04-06T08:18:00.548Z","updated_at":"2026-08-23T13:04:59.184Z","registry_url":"https://rubygems.org/gems/railsdomtesting","install_command":"gem install railsdomtesting -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/railsdomtesting/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:21:00.218Z","dependent_packages_count":0,"downloads":2482,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.97334785349916,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.76541654387436},"purl":"pkg:gem/railsdomtesting","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railsdomtesting","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railsdomtesting","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railsdomtesting/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdomtesting/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:46:58.252Z","updated_at":"2022-11-09T09:46:58.252Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12303481,"name":"railsdomtesting","ecosystem":"rubygems","description":"You probably meant `gem install rails-dom-testing`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:56.024Z","latest_release_published_at":"2018-07-23T03:30:56.024Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.193Z","created_at":"2025-10-07T05:15:21.621Z","updated_at":"2026-08-23T13:04:59.193Z","registry_url":"https://gem.coop/gems/railsdomtesting","install_command":"gem install railsdomtesting -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/railsdomtesting/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:49:36.117Z","dependent_packages_count":0,"downloads":2482,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.51951899993512,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.839839666645037},"purl":"pkg:gem/railsdomtesting?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railsdomtesting","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railsdomtesting","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railsdomtesting/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/railsdomtesting/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:38:02.003Z","updated_at":"2025-10-08T03:38:02.003Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":254952,"name":"miniportile","ecosystem":"rubygems","description":"You probably meant `gem install mini_portile`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:35.457Z","latest_release_published_at":"2018-07-23T03:31:35.457Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.368Z","created_at":"2022-04-06T04:31:43.291Z","updated_at":"2026-08-23T13:04:59.368Z","registry_url":"https://rubygems.org/gems/miniportile","install_command":"gem install miniportile -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/miniportile/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T11:53:55.600Z","dependent_packages_count":0,"downloads":2603,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":93.95773509637705,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.562293992449934},"purl":"pkg:gem/miniportile","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/miniportile","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/miniportile","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/miniportile/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/miniportile/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:40:38.180Z","updated_at":"2022-11-09T09:40:38.180Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":280028,"name":"rackprotection","ecosystem":"rubygems","description":"You probably meant `gem install rack-protection`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:13.541Z","latest_release_published_at":"2018-07-23T03:31:13.541Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.603Z","created_at":"2022-04-06T08:06:42.785Z","updated_at":"2026-08-23T13:04:59.603Z","registry_url":"https://rubygems.org/gems/rackprotection","install_command":"gem install rackprotection -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rackprotection/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:38:54.211Z","dependent_packages_count":0,"downloads":2446,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.01636375099586,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.774019723373698},"purl":"pkg:gem/rackprotection","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rackprotection","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rackprotection","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rackprotection/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rackprotection/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:46:38.411Z","updated_at":"2022-11-09T09:46:38.411Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12302010,"name":"rackprotection","ecosystem":"rubygems","description":"You probably meant `gem install rack-protection`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:13.541Z","latest_release_published_at":"2018-07-23T03:31:13.541Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:59.610Z","created_at":"2025-10-07T05:12:23.193Z","updated_at":"2026-08-23T13:04:59.610Z","registry_url":"https://gem.coop/gems/rackprotection","install_command":"gem install rackprotection -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rackprotection/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:52:21.761Z","dependent_packages_count":0,"downloads":2446,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.64666125979994,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.882220419933315},"purl":"pkg:gem/rackprotection?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rackprotection","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rackprotection","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rackprotection/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rackprotection/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:21:31.659Z","updated_at":"2025-10-08T03:21:31.659Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":296293,"name":"sassrails","ecosystem":"rubygems","description":"You probably meant `gem install sass-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:59.050Z","latest_release_published_at":"2018-07-23T03:29:59.050Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:00.388Z","created_at":"2022-04-06T10:33:00.542Z","updated_at":"2026-08-23T13:05:00.388Z","registry_url":"https://rubygems.org/gems/sassrails","install_command":"gem install sassrails -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/sassrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:17:20.057Z","dependent_packages_count":0,"downloads":2485,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.78537980523984,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.727822934222495},"purl":"pkg:gem/sassrails","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sassrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sassrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sassrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sassrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:49:58.691Z","updated_at":"2022-11-09T09:49:58.691Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":254520,"name":"mimetypes","ecosystem":"rubygems","description":"You probably meant `gem install mime-types`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:18.204Z","latest_release_published_at":"2018-07-23T03:29:18.204Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:00.389Z","created_at":"2022-04-06T04:28:15.101Z","updated_at":"2026-08-23T13:05:00.389Z","registry_url":"https://rubygems.org/gems/mimetypes","install_command":"gem install mimetypes -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/mimetypes/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T11:41:28.988Z","dependent_packages_count":0,"downloads":2657,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":93.9382476170825,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.558396496591023},"purl":"pkg:gem/mimetypes","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/mimetypes","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/mimetypes","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/mimetypes/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypes/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:40:30.472Z","updated_at":"2022-11-09T09:40:30.472Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12313711,"name":"rspeccore","ecosystem":"rubygems","description":"You probably meant `gem install rspec-core`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:23:55.071Z","latest_release_published_at":"2018-07-23T03:23:55.071Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:00.590Z","created_at":"2025-10-07T05:33:51.220Z","updated_at":"2026-08-23T13:05:00.590Z","registry_url":"https://gem.coop/gems/rspeccore","install_command":"gem install rspeccore -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rspeccore/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T11:41:29.076Z","dependent_packages_count":0,"downloads":2488,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.57142548175703,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.857141827252345},"purl":"pkg:gem/rspeccore?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspeccore","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspeccore","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspeccore/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspeccore/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T04:57:21.785Z","updated_at":"2025-10-08T04:57:21.785Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":192832,"name":"domainname","ecosystem":"rubygems","description":"You probably meant `gem install domain_name`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:47.596Z","latest_release_published_at":"2018-07-23T03:31:47.596Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:01.281Z","created_at":"2022-04-05T21:03:28.339Z","updated_at":"2026-08-23T13:05:01.281Z","registry_url":"https://rubygems.org/gems/domainname","install_command":"gem install domainname -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/domainname/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T16:48:04.098Z","dependent_packages_count":0,"downloads":2616,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.0133317284821,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.573413318870944},"purl":"pkg:gem/domainname","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/domainname","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/domainname","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/domainname/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/domainname/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-08T09:30:37.089Z","updated_at":"2022-11-08T09:30:37.089Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":280284,"name":"racktest","ecosystem":"rubygems","description":"You probably meant `gem install rack-test`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:33.543Z","latest_release_published_at":"2018-07-23T03:29:33.543Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:01.560Z","created_at":"2022-04-06T08:08:50.423Z","updated_at":"2026-08-23T13:05:01.561Z","registry_url":"https://rubygems.org/gems/racktest","install_command":"gem install racktest -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/racktest/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:23:06.102Z","dependent_packages_count":0,"downloads":2622,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":93.61724078638161,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.49419513045085},"purl":"pkg:gem/racktest","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/racktest","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/racktest","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/racktest/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/racktest/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:46:41.797Z","updated_at":"2022-11-09T09:46:41.797Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12187164,"name":"awssdkcore","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk-core`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:16.930Z","latest_release_published_at":"2018-07-23T03:30:16.930Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.730Z","created_at":"2025-10-07T01:36:24.124Z","updated_at":"2026-08-23T13:05:06.730Z","registry_url":"https://gem.coop/gems/awssdkcore","install_command":"gem install awssdkcore -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/awssdkcore/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T06:57:39.451Z","dependent_packages_count":0,"downloads":2876,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":89.81659709756255,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.938865699187517},"purl":"pkg:gem/awssdkcore?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdkcore","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdkcore","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdkcore/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdkcore/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T12:37:28.082Z","updated_at":"2025-10-07T12:37:28.082Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12305822,"name":"rbinotify","ecosystem":"rubygems","description":"You probably meant `gem install rb-inotify`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:29.594Z","latest_release_published_at":"2018-07-23T03:31:29.594Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:02.860Z","created_at":"2025-10-07T05:19:43.752Z","updated_at":"2026-08-23T13:05:02.861Z","registry_url":"https://gem.coop/gems/rbinotify","install_command":"gem install rbinotify -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rbinotify/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T14:42:36.435Z","dependent_packages_count":0,"downloads":2474,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.50216262975779,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.834054209919262},"purl":"pkg:gem/rbinotify?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rbinotify","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rbinotify","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rbinotify/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rbinotify/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:59:53.248Z","updated_at":"2025-10-08T03:59:53.248Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":14727836,"name":"apex_verify_pass","ecosystem":"rubygems","description":"Testing link verification SSRF","homepage":"https://github.com/rubygems/rubygems.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-07-07T06:08:50.720Z","latest_release_published_at":"2026-07-07T06:08:50.720Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.296Z","created_at":"2026-07-07T06:15:26.223Z","updated_at":"2026-08-23T13:05:03.296Z","registry_url":"https://gem.coop/gems/apex_verify_pass","install_command":"gem install apex_verify_pass -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/apex_verify_pass/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:45:01.491Z","dependent_packages_count":0,"downloads":0,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":99.41753493756718,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":33.1391783125224},"purl":"pkg:gem/apex_verify_pass?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/apex_verify_pass","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/apex_verify_pass","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/apex_verify_pass/dependencies","status":"removed","funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/apex_verify_pass/codemeta","maintainers":[{"uuid":"248019","login":"testingbear","name":null,"email":null,"url":null,"packages_count":36,"html_url":"https://gem.coop/profiles/testingbear","role":null,"created_at":"2026-07-07T06:15:29.556Z","updated_at":"2026-07-07T06:15:29.556Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/testingbear/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12274406,"name":"miniportile","ecosystem":"rubygems","description":"You probably meant `gem install mini_portile`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:35.457Z","latest_release_published_at":"2018-07-23T03:31:35.457Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:02.965Z","created_at":"2025-10-07T04:19:21.188Z","updated_at":"2026-08-23T13:05:02.965Z","registry_url":"https://gem.coop/gems/miniportile","install_command":"gem install miniportile -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/miniportile/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T12:05:37.109Z","dependent_packages_count":0,"downloads":2603,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.46570928044639,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.488569760148795},"purl":"pkg:gem/miniportile?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/miniportile","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/miniportile","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/miniportile/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/miniportile/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:14:32.590Z","updated_at":"2025-10-07T23:14:32.590Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":322106,"name":"unfext","ecosystem":"rubygems","description":"You probably meant `gem install unf_ext`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:41.969Z","latest_release_published_at":"2018-07-23T03:31:41.969Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.013Z","created_at":"2022-04-06T12:03:32.762Z","updated_at":"2026-08-23T13:05:03.014Z","registry_url":"https://rubygems.org/gems/unfext","install_command":"gem install unfext -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/unfext/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T11:44:35.602Z","dependent_packages_count":0,"downloads":2464,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.10061844088702,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.41152970980850684,"average":31.79029750019621},"purl":"pkg:gem/unfext","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/unfext","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/unfext","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/unfext/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/unfext/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:55:16.515Z","updated_at":"2022-11-09T09:55:16.515Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12348075,"name":"unfext","ecosystem":"rubygems","description":"You probably meant `gem install unf_ext`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:41.969Z","latest_release_published_at":"2018-07-23T03:31:41.969Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.413Z","created_at":"2025-10-07T06:41:59.030Z","updated_at":"2026-08-23T13:05:03.413Z","registry_url":"https://gem.coop/gems/unfext","install_command":"gem install unfext -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/unfext/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T16:12:26.921Z","dependent_packages_count":0,"downloads":2464,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.55953024633952,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.85317674877984},"purl":"pkg:gem/unfext?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/unfext","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/unfext","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/unfext/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/unfext/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-10T00:34:30.494Z","updated_at":"2025-10-10T00:34:30.494Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":308074,"name":"sprocketsrails","ecosystem":"rubygems","description":"You probably meant `gem install sprockets-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:05.671Z","latest_release_published_at":"2018-07-23T03:30:05.671Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.432Z","created_at":"2022-04-06T11:15:26.328Z","updated_at":"2026-08-23T13:05:03.432Z","registry_url":"https://rubygems.org/gems/sprocketsrails","install_command":"gem install sprocketsrails -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/sprocketsrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T12:22:06.464Z","dependent_packages_count":0,"downloads":2475,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.19003158117968,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.808753289410465},"purl":"pkg:gem/sprocketsrails","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sprocketsrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sprocketsrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sprocketsrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sprocketsrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:52:24.743Z","updated_at":"2022-11-09T09:52:24.743Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12332605,"name":"sprocketsrails","ecosystem":"rubygems","description":"You probably meant `gem install sprockets-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:05.671Z","latest_release_published_at":"2018-07-23T03:30:05.671Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.444Z","created_at":"2025-10-07T06:11:21.289Z","updated_at":"2026-08-23T13:05:03.445Z","registry_url":"https://gem.coop/gems/sprocketsrails","install_command":"gem install sprocketsrails -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/sprocketsrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T12:59:47.911Z","dependent_packages_count":0,"downloads":2475,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.36862024221453,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.789540080738178},"purl":"pkg:gem/sprocketsrails?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sprocketsrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sprocketsrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sprocketsrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sprocketsrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-09T22:41:14.584Z","updated_at":"2025-10-09T22:41:14.584Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12281710,"name":"netssh","ecosystem":"rubygems","description":"You probably meant `gem install net-ssh`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:45.072Z","latest_release_published_at":"2018-07-23T03:30:45.072Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.936Z","created_at":"2025-10-07T04:34:19.458Z","updated_at":"2026-08-23T13:05:03.936Z","registry_url":"https://gem.coop/gems/netssh","install_command":"gem install netssh -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/netssh/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T13:18:59.551Z","dependent_packages_count":0,"downloads":3210,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":86.74059735709496,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.913532452364986},"purl":"pkg:gem/netssh?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/netssh","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/netssh","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/netssh/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/netssh/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T00:39:31.205Z","updated_at":"2025-10-08T00:39:31.205Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12216155,"name":"domainname","ecosystem":"rubygems","description":"You probably meant `gem install domain_name`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:47.596Z","latest_release_published_at":"2018-07-23T03:31:47.596Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.007Z","created_at":"2025-10-07T02:31:15.766Z","updated_at":"2026-08-23T13:05:04.007Z","registry_url":"https://gem.coop/gems/domainname","install_command":"gem install domainname -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/domainname/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T12:23:36.401Z","dependent_packages_count":0,"downloads":2616,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.20734908136482,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.402449693788274},"purl":"pkg:gem/domainname?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/domainname","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/domainname","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/domainname/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/domainname/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T16:10:13.969Z","updated_at":"2025-10-07T16:10:13.969Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12204172,"name":"coffeescript","ecosystem":"rubygems","description":"You probably meant `gem install coffee-script`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:11.480Z","latest_release_published_at":"2018-07-23T03:30:11.480Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.300Z","created_at":"2025-10-07T02:09:12.090Z","updated_at":"2026-08-23T13:05:04.300Z","registry_url":"https://gem.coop/gems/coffeescript","install_command":"gem install coffeescript -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/coffeescript/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T17:05:59.808Z","dependent_packages_count":0,"downloads":3279,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":87.02121677444471,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.007072258148238},"purl":"pkg:gem/coffeescript?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeescript","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeescript","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeescript/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescript/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T14:40:31.863Z","updated_at":"2025-10-07T14:40:31.863Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":261703,"name":"netssh","ecosystem":"rubygems","description":"You probably meant `gem install net-ssh`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:45.072Z","latest_release_published_at":"2018-07-23T03:30:45.072Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.117Z","created_at":"2022-04-06T05:26:18.437Z","updated_at":"2026-08-23T13:05:04.117Z","registry_url":"https://rubygems.org/gems/netssh","install_command":"gem install netssh -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/netssh/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T00:47:58.629Z","dependent_packages_count":0,"downloads":3210,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":89.31048317762365,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.41152970980850684,"average":30.632270447543533},"purl":"pkg:gem/netssh","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/netssh","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/netssh","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/netssh/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netssh/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:42:33.889Z","updated_at":"2022-11-09T09:42:33.889Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12204177,"name":"coffeescriptsource","ecosystem":"rubygems","description":"You probably meant `gem install coffee-script-source`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:49.294Z","latest_release_published_at":"2018-07-23T03:29:49.294Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.191Z","created_at":"2025-10-07T02:09:12.600Z","updated_at":"2026-08-23T13:05:04.191Z","registry_url":"https://gem.coop/gems/coffeescriptsource","install_command":"gem install coffeescriptsource -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/coffeescriptsource/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T19:44:42.522Z","dependent_packages_count":0,"downloads":2717,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.26673443346237,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.422244811154126},"purl":"pkg:gem/coffeescriptsource?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeescriptsource","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeescriptsource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeescriptsource/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeescriptsource/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T14:40:31.806Z","updated_at":"2025-10-07T14:40:31.806Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":179626,"name":"coffeescriptsource","ecosystem":"rubygems","description":"You probably meant `gem install coffee-script-source`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:49.294Z","latest_release_published_at":"2018-07-23T03:29:49.294Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.232Z","created_at":"2022-04-05T19:38:00.817Z","updated_at":"2026-08-23T13:05:04.232Z","registry_url":"https://rubygems.org/gems/coffeescriptsource","install_command":"gem install coffeescriptsource -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/coffeescriptsource/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T07:09:25.067Z","dependent_packages_count":0,"downloads":2717,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":93.7651529480544,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.52377756278541},"purl":"pkg:gem/coffeescriptsource","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeescriptsource","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeescriptsource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeescriptsource/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:24:51.153Z","issues_count":204,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/coffeescriptsource/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T14:30:56.224Z","updated_at":"2022-11-07T14:30:56.224Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":290817,"name":"rspecexpectations","ecosystem":"rubygems","description":"You probably meant `gem install rspec-expectations`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:28:56.318Z","latest_release_published_at":"2018-07-23T03:28:56.318Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.423Z","created_at":"2022-04-06T09:43:24.717Z","updated_at":"2026-08-23T13:05:04.423Z","registry_url":"https://rubygems.org/gems/rspecexpectations","install_command":"gem install rspecexpectations -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rspecexpectations/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:09:02.881Z","dependent_packages_count":0,"downloads":2458,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.96363292466943,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.76347355810841},"purl":"pkg:gem/rspecexpectations","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecexpectations","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecexpectations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecexpectations/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rspecexpectations/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:48:53.544Z","updated_at":"2022-11-09T09:48:53.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12302273,"name":"racktest","ecosystem":"rubygems","description":"You probably meant `gem install rack-test`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:33.543Z","latest_release_published_at":"2018-07-23T03:29:33.543Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:04.482Z","created_at":"2025-10-07T05:12:51.311Z","updated_at":"2026-08-23T13:05:04.482Z","registry_url":"https://gem.coop/gems/racktest","install_command":"gem install racktest -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/racktest/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:53:28.446Z","dependent_packages_count":0,"downloads":2622,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.38352401756168,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.46117467252056},"purl":"pkg:gem/racktest?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/racktest","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/racktest","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/racktest/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/racktest/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T03:23:03.341Z","updated_at":"2025-10-08T03:23:03.341Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12187051,"name":"awssdk","ecosystem":"rubygems","description":"You probably meant `gem install aws-sdk`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:38.608Z","latest_release_published_at":"2018-07-23T03:29:38.608Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.089Z","created_at":"2025-10-07T01:35:30.140Z","updated_at":"2026-08-23T13:05:05.089Z","registry_url":"https://gem.coop/gems/awssdk","install_command":"gem install awssdk -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/awssdk/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T18:46:06.116Z","dependent_packages_count":0,"downloads":3012,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":86.61556603773585,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.87185534591195},"purl":"pkg:gem/awssdk?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awssdk","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awssdk","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awssdk/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awssdk/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T12:37:02.521Z","updated_at":"2025-10-07T12:37:02.521Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":292925,"name":"rubygemsbundler","ecosystem":"rubygems","description":"You probably meant `gem install rubygems-bundler`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:38.838Z","latest_release_published_at":"2018-07-23T03:30:38.838Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.143Z","created_at":"2022-04-06T10:02:56.860Z","updated_at":"2026-08-23T13:05:05.144Z","registry_url":"https://rubygems.org/gems/rubygemsbundler","install_command":"gem install rubygemsbundler -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rubygemsbundler/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:52:10.548Z","dependent_packages_count":0,"downloads":2480,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.7739165821254,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.725530289599607},"purl":"pkg:gem/rubygemsbundler","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rubygemsbundler","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rubygemsbundler","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rubygemsbundler/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rubygemsbundler/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:49:18.927Z","updated_at":"2022-11-09T09:49:18.927Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12278741,"name":"multipartpost","ecosystem":"rubygems","description":"You probably meant `gem install multipart-post`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:43.948Z","latest_release_published_at":"2018-07-23T03:29:43.948Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.578Z","created_at":"2025-10-07T04:29:12.261Z","updated_at":"2026-08-23T13:05:05.578Z","registry_url":"https://gem.coop/gems/multipartpost","install_command":"gem install multipartpost -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/multipartpost/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T12:56:58.367Z","dependent_packages_count":0,"downloads":2490,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.30810822501459,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.769369408338196},"purl":"pkg:gem/multipartpost?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multipartpost","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multipartpost","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multipartpost/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:24.592Z","issues_count":203,"pull_requests_count":3446,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689413.0476979133,"issues_closed_count":110,"pull_requests_closed_count":3019,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.944573418456181,"merged_pull_requests_count":2780,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":34,"past_year_pull_requests_count":367,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":490684.9265306122,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":245,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8746594005449592,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":213,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/multipartpost/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:52:12.018Z","updated_at":"2025-10-07T23:52:12.018Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":258972,"name":"multipartpost","ecosystem":"rubygems","description":"You probably meant `gem install multipart-post`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:43.948Z","latest_release_published_at":"2018-07-23T03:29:43.948Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.667Z","created_at":"2022-04-06T05:04:23.481Z","updated_at":"2026-08-23T13:05:05.667Z","registry_url":"https://rubygems.org/gems/multipartpost","install_command":"gem install multipartpost -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/multipartpost/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:24:06.695Z","dependent_packages_count":0,"downloads":2490,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.66730860716108,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.70420869460674},"purl":"pkg:gem/multipartpost","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multipartpost","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multipartpost","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multipartpost/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multipartpost/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:41:24.261Z","updated_at":"2022-11-09T09:41:24.261Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12186797,"name":"awesomeprint","ecosystem":"rubygems","description":"You probably meant `gem install awesome_print`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:52.583Z","latest_release_published_at":"2018-07-23T03:31:52.583Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.504Z","created_at":"2025-10-07T01:34:59.833Z","updated_at":"2026-08-23T13:05:05.504Z","registry_url":"https://gem.coop/gems/awesomeprint","install_command":"gem install awesomeprint -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/awesomeprint/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T19:56:38.257Z","dependent_packages_count":0,"downloads":4391,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":81.40892038349313,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.13630679449771},"purl":"pkg:gem/awesomeprint?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awesomeprint","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awesomeprint","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awesomeprint/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/awesomeprint/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T12:35:38.669Z","updated_at":"2025-10-07T12:35:38.669Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12313769,"name":"rspecexpectations","ecosystem":"rubygems","description":"You probably meant `gem install rspec-expectations`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:28:56.318Z","latest_release_published_at":"2018-07-23T03:28:56.318Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.730Z","created_at":"2025-10-07T05:34:08.152Z","updated_at":"2026-08-23T13:05:05.730Z","registry_url":"https://gem.coop/gems/rspecexpectations","install_command":"gem install rspecexpectations -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rspecexpectations/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:49:36.394Z","dependent_packages_count":0,"downloads":2458,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.60785172449216,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.869283908164054},"purl":"pkg:gem/rspecexpectations?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecexpectations","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecexpectations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecexpectations/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecexpectations/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T04:57:53.601Z","updated_at":"2025-10-08T04:57:53.601Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":253502,"name":"methodsource","ecosystem":"rubygems","description":"You probably meant `gem install method_source`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:27.916Z","latest_release_published_at":"2018-07-23T03:30:27.916Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.589Z","created_at":"2022-04-06T04:20:14.401Z","updated_at":"2026-08-23T13:05:06.590Z","registry_url":"https://rubygems.org/gems/methodsource","install_command":"gem install methodsource -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/methodsource/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T16:41:16.015Z","dependent_packages_count":0,"downloads":2505,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.7349416235363,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.717735297881784},"purl":"pkg:gem/methodsource","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/methodsource","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/methodsource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/methodsource/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/methodsource/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:40:18.237Z","updated_at":"2022-11-09T09:40:18.237Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12314194,"name":"rspecsupport","ecosystem":"rubygems","description":"You probably meant `gem install rspec-support`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:06.880Z","latest_release_published_at":"2018-07-23T03:29:06.880Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.732Z","created_at":"2025-10-07T05:34:44.196Z","updated_at":"2026-08-23T13:05:06.732Z","registry_url":"https://gem.coop/gems/rspecsupport","install_command":"gem install rspecsupport -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rspecsupport/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:52:10.196Z","dependent_packages_count":0,"downloads":2434,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.71254622921037,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.90418207640346},"purl":"pkg:gem/rspecsupport?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rspecsupport","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rspecsupport","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rspecsupport/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rspecsupport/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T04:58:53.203Z","updated_at":"2025-10-08T04:58:53.203Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12316182,"name":"rubygemsbundler","ecosystem":"rubygems","description":"You probably meant `gem install rubygems-bundler`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:38.838Z","latest_release_published_at":"2018-07-23T03:30:38.838Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.753Z","created_at":"2025-10-07T05:38:44.471Z","updated_at":"2026-08-23T13:05:06.753Z","registry_url":"https://gem.coop/gems/rubygemsbundler","install_command":"gem install rubygemsbundler -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rubygemsbundler/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:57:29.124Z","dependent_packages_count":0,"downloads":2480,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.35514513870491,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.785048379568305},"purl":"pkg:gem/rubygemsbundler?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rubygemsbundler","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rubygemsbundler","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rubygemsbundler/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rubygemsbundler/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T05:13:35.408Z","updated_at":"2025-10-08T05:13:35.408Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12272809,"name":"methodsource","ecosystem":"rubygems","description":"You probably meant `gem install method_source`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:27.916Z","latest_release_published_at":"2018-07-23T03:30:27.916Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:06.864Z","created_at":"2025-10-07T04:15:53.539Z","updated_at":"2026-08-23T13:05:06.864Z","registry_url":"https://gem.coop/gems/methodsource","install_command":"gem install methodsource -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/methodsource/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T23:02:06.947Z","dependent_packages_count":0,"downloads":2505,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.30810822501459,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.769369408338196},"purl":"pkg:gem/methodsource?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/methodsource","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/methodsource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/methodsource/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/methodsource/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T23:09:21.457Z","updated_at":"2025-10-07T23:09:21.457Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":12247765,"name":"httpcookie","ecosystem":"rubygems","description":"You probably meant `gem install http-cookie`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:03.872Z","latest_release_published_at":"2018-07-23T03:32:03.872Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:07.115Z","created_at":"2025-10-07T03:32:15.210Z","updated_at":"2026-08-23T13:05:07.116Z","registry_url":"https://gem.coop/gems/httpcookie","install_command":"gem install httpcookie -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/httpcookie/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T02:12:28.705Z","dependent_packages_count":0,"downloads":2581,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.76700855902375,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.589002853007916},"purl":"pkg:gem/httpcookie?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/httpcookie","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/httpcookie","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/httpcookie/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/httpcookie/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T20:54:48.443Z","updated_at":"2025-10-07T20:54:48.443Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":226949,"name":"httpcookie","ecosystem":"rubygems","description":"You probably meant `gem install http-cookie`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:03.872Z","latest_release_published_at":"2018-07-23T03:32:03.872Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:07.116Z","created_at":"2022-04-06T01:01:56.617Z","updated_at":"2026-08-23T13:05:07.117Z","registry_url":"https://rubygems.org/gems/httpcookie","install_command":"gem install httpcookie -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/httpcookie/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T03:44:22.268Z","dependent_packages_count":0,"downloads":2581,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.2746932154914,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.625685616272808},"purl":"pkg:gem/httpcookie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/httpcookie","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/httpcookie","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/httpcookie/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/httpcookie/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:35:34.118Z","updated_at":"2022-11-09T09:35:34.118Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12204161,"name":"coffeerails","ecosystem":"rubygems","description":"You probably meant `gem install coffee-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:21.982Z","latest_release_published_at":"2018-07-23T03:30:21.982Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:10.581Z","created_at":"2025-10-07T02:09:02.639Z","updated_at":"2026-08-23T13:05:10.581Z","registry_url":"https://gem.coop/gems/coffeerails","install_command":"gem install coffeerails -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/coffeerails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-22T08:46:47.460Z","dependent_packages_count":0,"downloads":2693,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.31922854408514,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.439742848028377},"purl":"pkg:gem/coffeerails?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/coffeerails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/coffeerails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/coffeerails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/coffeerails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T14:40:15.951Z","updated_at":"2025-10-07T14:40:15.951Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":281320,"name":"railsdeprecatedsanitizer","ecosystem":"rubygems","description":"You probably meant `gem install rails-deprecated_sanitizer`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:58.001Z","latest_release_published_at":"2018-07-23T03:31:58.001Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:43.804Z","created_at":"2022-04-06T08:17:42.886Z","updated_at":"2026-08-23T13:44:47.961Z","registry_url":"https://rubygems.org/gems/railsdeprecatedsanitizer","install_command":"gem install railsdeprecatedsanitizer -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/railsdeprecatedsanitizer/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T13:44:47.961Z","dependent_packages_count":0,"downloads":2446,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":95.00547368903715,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.771841710981953},"purl":"pkg:gem/railsdeprecatedsanitizer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/railsdeprecatedsanitizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/railsdeprecatedsanitizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/railsdeprecatedsanitizer/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-23T13:04:29.440Z","issues_count":205,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":114,"avg_comments_per_issue":2.526829268292683,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":36,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":1.0833333333333333,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/railsdeprecatedsanitizer/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:46:55.327Z","updated_at":"2022-11-09T09:46:55.327Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12309900,"name":"restclient","ecosystem":"rubygems","description":"You probably meant `gem install rest-client`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:30:32.982Z","latest_release_published_at":"2018-07-23T03:30:32.982Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:46.506Z","created_at":"2025-10-07T05:27:11.849Z","updated_at":"2026-08-23T19:44:05.839Z","registry_url":"https://gem.coop/gems/restclient","install_command":"gem install restclient -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/restclient/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T19:44:05.839Z","dependent_packages_count":0,"downloads":77820,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":10.85718919795637,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":3.6190630659854564},"purl":"pkg:gem/restclient?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/restclient","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/restclient","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/restclient/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-23T13:04:29.440Z","issues_count":205,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":114,"avg_comments_per_issue":2.526829268292683,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":36,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":1.0833333333333333,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/restclient/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-08T04:26:48.846Z","updated_at":"2025-10-08T04:26:48.846Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":258926,"name":"multijson","ecosystem":"rubygems","description":"You probably meant `gem install multi_json`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:13.181Z","latest_release_published_at":"2018-07-23T03:29:13.181Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:44.110Z","created_at":"2022-04-06T05:04:02.117Z","updated_at":"2026-08-23T20:35:28.928Z","registry_url":"https://rubygems.org/gems/multijson","install_command":"gem install multijson -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/multijson/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T20:35:28.928Z","dependent_packages_count":0,"downloads":4639,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":73.30429300166217,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":27.43160557350696},"purl":"pkg:gem/multijson","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/multijson","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/multijson","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/multijson/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-23T13:04:29.440Z","issues_count":205,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":114,"avg_comments_per_issue":2.526829268292683,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":36,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":1.0833333333333333,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/multijson/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:41:23.674Z","updated_at":"2022-11-09T09:41:23.674Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12257006,"name":"jqueryrails","ecosystem":"rubygems","description":"You probably meant `gem install jquery-rails`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:29:54.181Z","latest_release_published_at":"2018-07-23T03:29:54.181Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:58.750Z","created_at":"2025-10-07T03:47:43.975Z","updated_at":"2026-08-23T21:13:54.422Z","registry_url":"https://gem.coop/gems/jqueryrails","install_command":"gem install jqueryrails -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/jqueryrails/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-23T21:13:54.422Z","dependent_packages_count":0,"downloads":2624,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":91.68955598330342,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":30.56318532776781},"purl":"pkg:gem/jqueryrails?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/jqueryrails","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/jqueryrails","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/jqueryrails/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-23T13:04:29.440Z","issues_count":205,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":114,"avg_comments_per_issue":2.526829268292683,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":36,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":1.0833333333333333,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/jqueryrails/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://gem.coop/profiles/coffeetocode","role":null,"created_at":"2025-10-07T21:52:18.233Z","updated_at":"2025-10-07T21:52:18.233Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/coffeetocode/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":195850,"maintainers_count":68885,"namespaces_count":0,"keywords_count":19180,"github":"gem-coop","metadata":{"funded_packages_count":7900},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-08-24T05:01:32.360Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":261678,"name":"netscp","ecosystem":"rubygems","description":"You probably meant `gem install net-scp`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:09.555Z","latest_release_published_at":"2018-07-23T03:32:09.555Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:54.378Z","created_at":"2022-04-06T05:26:06.830Z","updated_at":"2026-08-23T13:04:54.378Z","registry_url":"https://rubygems.org/gems/netscp","install_command":"gem install netscp -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/netscp/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:24:06.566Z","dependent_packages_count":0,"downloads":2579,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.18470691404302,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.60768835598313},"purl":"pkg:gem/netscp","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/netscp","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/netscp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/netscp/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/netscp/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:42:33.882Z","updated_at":"2022-11-09T09:42:33.882Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":14727832,"name":"apex_verify_pass","ecosystem":"rubygems","description":"Testing link verification SSRF","homepage":"https://github.com/rubygems/rubygems.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-07-07T06:08:50.720Z","latest_release_published_at":"2026-07-07T06:08:50.720Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:04:55.412Z","created_at":"2026-07-07T06:15:25.669Z","updated_at":"2026-08-23T13:04:55.412Z","registry_url":"https://rubygems.org/gems/apex_verify_pass","install_command":"gem install apex_verify_pass -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/apex_verify_pass/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-11T18:48:11.000Z","size":29046,"stargazers_count":2437,"open_issues_count":106,"forks_count":1014,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-12T01:35:46.436Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-11T18:48:44.000Z","dependencies_parsed_at":"2023-10-13T07:42:28.019Z","dependency_job_id":"bbfe9f3f-055c-4e6c-9497-66ae115f2406","html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-19T11:45:01.538Z","dependent_packages_count":0,"downloads":0,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":92.28472425245985,"dependent_repos_count":41.827314819252855,"dependent_packages_count":13.655971701640194,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":49.25600359111763},"purl":"pkg:gem/apex_verify_pass","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/apex_verify_pass","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/apex_verify_pass","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/apex_verify_pass/dependencies","status":"removed","funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:36.066Z","issues_count":203,"pull_requests_count":3440,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689611.2908366534,"issues_closed_count":110,"pull_requests_closed_count":3012,"pull_request_authors_count":126,"issue_authors_count":112,"avg_comments_per_issue":2.5369458128078817,"avg_comments_per_pull_request":0.9450581395348837,"merged_pull_requests_count":2773,"bot_issues_count":10,"bot_pull_requests_count":2108,"past_year_issues_count":34,"past_year_pull_requests_count":364,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":481336.09543568466,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":241,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":1.0588235294117647,"past_year_avg_comments_per_pull_request":0.8708791208791209,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":209,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":142,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/apex_verify_pass/codemeta","maintainers":[{"uuid":"248019","login":"testingbear","name":null,"email":null,"url":null,"packages_count":36,"html_url":"https://rubygems.org/profiles/testingbear","role":null,"created_at":"2026-07-07T06:15:29.556Z","updated_at":"2026-07-07T06:15:29.556Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/testingbear/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":254522,"name":"mimetypesdata","ecosystem":"rubygems","description":"You probably meant `gem install mime-types-data`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:32:15.361Z","latest_release_published_at":"2018-07-23T03:32:15.361Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:03.161Z","created_at":"2022-04-06T04:28:15.703Z","updated_at":"2026-08-23T13:05:03.162Z","registry_url":"https://rubygems.org/gems/mimetypesdata","install_command":"gem install mimetypesdata -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/mimetypesdata/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-20T13:18:59.186Z","dependent_packages_count":0,"downloads":2521,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":94.7739165821254,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.4143955155871177,"average":31.725530289599607},"purl":"pkg:gem/mimetypesdata","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/mimetypesdata","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/mimetypesdata","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/mimetypesdata/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-20T11:32:04.106Z","issues_count":204,"pull_requests_count":3451,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9446537235583888,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492236.975708502,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":247,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8763440860215054,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":176,"past_year_merged_pull_requests_count":214,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/mimetypesdata/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-09T09:40:30.469Z","updated_at":"2022-11-09T09:40:30.469Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":159701,"name":"awesomeprint","ecosystem":"rubygems","description":"You probably meant `gem install awesome_print`.","homepage":"https://github.com/rubygems/rubygems.org/issues/1334","licenses":"WTFPL","normalized_licenses":["WTFPL"],"repository_url":"https://github.com/rubygems/rubygems.org","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2018-07-23T03:31:52.583Z","latest_release_published_at":"2018-07-23T03:31:52.583Z","latest_release_number":"0.0.1","last_synced_at":"2026-08-23T13:05:05.382Z","created_at":"2022-04-05T17:31:53.982Z","updated_at":"2026-08-23T13:05:05.384Z","registry_url":"https://rubygems.org/gems/awesomeprint","install_command":"gem install awesomeprint -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/awesomeprint/","metadata":{"funding":null},"repo_metadata":{"id":491299,"uuid":"117646","full_name":"rubygems/rubygems.org","owner":"rubygems","description":"The Ruby community's gem hosting service.","archived":false,"fork":false,"pushed_at":"2026-08-19T07:01:27.000Z","size":29439,"stargazers_count":2438,"open_issues_count":109,"forks_count":1020,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-08-19T11:12:02.406Z","etag":null,"topics":["package-manager","ruby","rubygems"],"latest_commit_sha":null,"homepage":"https://rubygems.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubygems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-08-19T07:03:06.000Z","dependencies_parsed_at":"2026-08-19T11:21:31.443Z","dependency_job_id":null,"html_url":"https://github.com/rubygems/rubygems.org","commit_stats":{"total_commits":7193,"total_committers":444,"mean_commits":16.20045045045045,"dds":0.755734742110385,"last_synced_commit":"5f9661e521e298280d75f7192b070b557bbe1f9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rubygems/rubygems.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","download_url":"https://codeload.github.com/rubygems/rubygems.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/sbom","scorecard":{"id":373261,"data":{"date":"2025-08-12T04:33:32Z","repo":{"name":"github.com/rubygems/rubygems.org","commit":"213ac7414c4242ef53b7d173298ab31f78015630"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 11/22 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32","Info: jobLevel 'contents' permission set to 'read': .github/workflows/lint.yml:103","Info: jobLevel 'actions' permission set to 'read': .github/workflows/lint.yml:104","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:8","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: Dockerfile:6","Warn: containerImage not pinned by hash: Dockerfile:31","Warn: containerImage not pinned by hash: Dockerfile:111","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 117 contributing companies or organizations","details":["Info: found contributions from: 24pullrequests, Cladedesign, CocoaPods, DunaOnline, Farmhouse, IRIS-NITK, LightTable, NITDgpOS, NixOS, OpenHack, RestKit, RubiesOnDaCloud, RubyElders, RubyMoney, Shopify, SyncFree, TTTAttributedLabel, UBC-Snowbots, antipop-rubykaigi, asakusarb, automat-berlin, automaticruby, automatisch, bazel-ios, bitmakerlabs, bluepill-rb, bostonember, bostonrb, bundler, bytedance, carlhuda, carnegie mellon university, charlotte-ruby, cloudcity, codeforamerica, coderwall-24PullRequestsParticipant, codetriage, coworkbuffalo, criticalpair, danger, devious, downcityjs, drip, eballance, epiphytelabs, erikhuda, errbit, fastladder, fog, github, gitready, globalize, gusto, gusto @rubygems @cloudcity, hackforchange, haml, hiki, intridea, jenkinsci, larb, lasp-lang, linkedin, llvm, loomhq, lostisland, machine-cloud, mirendev, netbrick, nickelcityruby, nko2, nko3, octokit, opengovernment, oracle, ottawaruby, package-community, patronus-io, pedestal, pickaxe-club, pirateradio, platformsh, puma, rails, rails-girls-summer-of-code, railsbridgetriangle, railsgirls, railsgirls-jp, rbenv, rdoc, refinery, refinerycms-contrib, rubinius, ruby, ruby @rubygems @rbenv @88labs @andpad-dev, rubyapi, rubycentral, rubygems, rubysec, rubytogether, self - deli clerk at @rubyelders, semver, shopify, sigstore, snoplus, sounddrop, speedshop, splinesoft, syndicated-media, tailrecursion, tdiary, tweetstream, ubcaerodesign, vektra, wickedgoodruby, wistia, womenwhocodeto, zizkovrb"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T13:29:29.154Z","repository_id":491299,"created_at":"2025-08-18T13:29:29.154Z","updated_at":"2025-08-18T13:29:29.154Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"rubygems","name":"RubyGems","uuid":"208761","kind":"organization","description":"","email":null,"website":"https://rubygems.org","location":"GEM_HOME","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/208761?v=4","repositories_count":60,"last_synced_at":"2023-04-13T10:35:57.064Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rubygems","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T17:46:46.793Z","updated_at":"2023-04-13T10:35:57.268Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubygems/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-21T14:55:52.426Z","dependent_packages_count":0,"downloads":4391,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":79.06414246493686,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":0.9514475184987763,"forks_count":0.41152970980850684,"average":28.583002305006175},"purl":"pkg:gem/awesomeprint","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/awesomeprint","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/awesomeprint","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/awesomeprint/dependencies","status":null,"funding_links":["https://rubycentral.org/#/portal/signup","https://github.com/sponsors/rubytogether"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:03:38.184Z","issues_count":204,"pull_requests_count":3452,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":689408.3803376366,"issues_closed_count":110,"pull_requests_closed_count":3021,"pull_request_authors_count":126,"issue_authors_count":113,"avg_comments_per_issue":2.534313725490196,"avg_comments_per_pull_request":0.9455388180764774,"merged_pull_requests_count":2781,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":35,"past_year_pull_requests_count":370,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":496632.8606557377,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":244,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":1.0857142857142856,"past_year_avg_comments_per_pull_request":0.8810810810810811,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":212,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","maintainers":[{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"colby-swandale","count":143,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"},{"login":"mghaught","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"},{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}],"active_maintainers":[{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"},{"login":"mghaught","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/awesomeprint/codemeta","maintainers":[{"uuid":"124382","login":"coffeetocode","name":null,"email":null,"url":null,"packages_count":38,"html_url":"https://rubygems.org/profiles/coffeetocode","role":null,"created_at":"2022-11-07T13:15:06.258Z","updated_at":"2022-11-07T13:15:06.258Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/coffeetocode/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":211332,"maintainers_count":69886,"namespaces_count":0,"keywords_count":19598,"github":"rubygems","metadata":{"funded_packages_count":8271},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-08-24T05:00:20.996Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}}],"commits":{"id":268589,"full_name":"rubygems/rubygems.org","default_branch":"master","total_commits":10145,"total_committers":500,"total_bot_commits":2157,"total_bot_committers":3,"mean_commits":20.29,"dds":0.7970428782651553,"past_year_total_commits":743,"past_year_total_committers":41,"past_year_total_bot_commits":435,"past_year_total_bot_committers":1,"past_year_mean_commits":18.121951219512194,"past_year_dds":0.41453566621803495,"last_synced_at":"2026-08-19T11:04:21.601Z","last_synced_commit":"3201f8831866f82eb9acd7f66287a978d0e59079","created_at":"2023-03-08T13:33:19.941Z","updated_at":"2026-08-19T11:04:17.356Z","committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2059},{"name":"Erik Michaels-Ober","email":"sferik@gmail.com","login":"sferik","count":1757},{"name":"Nick Quaranto","email":"nick@quaran.to","login":"qrush","count":1098},{"name":"Aditya Prakash","email":"aditya.prakash132@gmail.com","login":"sonalkr132","count":905},{"name":"Samuel Giddins","email":"segiddins@segiddins.me","login":"segiddins","count":437},{"name":"Arthur Neves","email":"arthurnn@gmail.com","login":"arthurnn","count":338},{"name":"David Radcliffe","email":"radcliffe.david@gmail.com","login":"dwradcliffe","count":257},{"name":"Josef Šimánek","email":"josef.simanek@gmail.com","login":"simi","count":221},{"name":"Jenny Shen","email":"jenny.shen@shopify.com","login":"jenshenny","count":207},{"name":"Colby Swandale","email":"996377+colby-swandale","login":"colby-swandale","count":198},{"name":"Martin Emde","email":"martinemde","login":"martinemde","count":148},{"name":"Andre Arko","email":"andre@arko.net","login":"indirect","count":126},{"name":"David Dollar","email":"ddollar@gmail.com","login":"ddollar","count":96},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":79},{"name":"Evan Phoenix","email":"evan@fallingsnow.net","login":"evanphx","count":74},{"name":"Christopher Meiklejohn","email":"christopher.meiklejohn@gmail.com","login":"cmeiklejohn","count":70},{"name":"Nick Quaranto","email":"nick@thoughtbot.com","login":"nickrivadeneira","count":58},{"name":"Faruk AYDIN","email":"omerfaruk26@gmail.com","login":"farukaydin","count":55},{"name":"Landon Grindheim","email":"landon.grindheim@gmail.com","login":"landongrindheim","count":50},{"name":"Eric Herscovich","email":"eric.herscovich@shopify.com","login":"ericherscovich","count":50},{"name":"bettymakes","email":"makewithbetty@gmail.com","login":"bettymakes","count":50},{"name":"Ashley Ellis Pierce","email":"anellis12@gmail.com","login":"aellispierce","count":48},{"name":"Qiu Chaofan","email":"fwage73@gmail.com","login":"ecnelises","count":42},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":35},{"name":"acacheung","email":"acacheung@gmail.com","login":"acacheung","count":35},{"name":"Laurent Arnoud","email":"laurent@spkdev.net","login":"spk","count":35},{"name":"Nate Berkopec","email":"nate.berkopec@gmail.com","login":"nateberkopec","count":34},{"name":"Nicholas La Roux","email":"larouxn@gmail.com","login":"larouxn","count":32},{"name":"Gabriel Horner","email":"gabriel.horner@gmail.com","login":"cldwalker","count":29},{"name":"Kevin Lin","email":"kevin.lin@shopify.com","login":"kevinlinxc","count":29},{"name":"Tom Copeland","email":"tom@infoether.com","login":null,"count":25},{"name":"Pavan Vachhani","email":"vachhanihpavan@gmail.com","login":"vachhanihpavan","count":24},{"name":"Matias Korhonen","email":"matias@kiskolabs.com","login":"matiaskorhonen","count":22},{"name":"Jacques Chester","email":"jacques.chester@shopify.com","login":"jchestershopify","count":20},{"name":"dependabot[bot]","email":"support@dependabot.com","login":"dependabot-support","count":19},{"name":"Thomas Dziedzic","email":"thomasdziedzic0@gmail.com","login":"thomasdziedzic","count":19},{"name":"Brian Penguin","email":"tenggren@thoughtbot.com","login":"brian-penguin","count":18},{"name":"Gira Chawda","email":"gira.chawda@shopify.com","login":"girachawda","count":15},{"name":"Olivier Lacan","email":"hi@olivierlacan.com","login":"olivierlacan","count":15},{"name":"Davisc0801","email":"davisc1014@gmail.com","login":"DavisC0801","count":15},{"name":"James A. Rosen","email":"james@zendesk.com","login":null,"count":15},{"name":"Keenan Brock","email":"keenan@thebrocks.net","login":"kbrock","count":14},{"name":"Erik Michaels-Ober","email":"erik@instacart.com","login":null,"count":14},{"name":"Evan Light","email":"evan@tripledogdare.net","login":null,"count":14},{"name":"Matt Jankowski","email":"mjankowski@thoughtbot.com","login":"mjankowski","count":13},{"name":"Aaron Suggs","email":"aaron@ktheory.com","login":"ktheory","count":13},{"name":"Harriet Oughton","email":"harriet.oughton@shopify.com","login":"OughtPuts","count":13},{"name":"shlok007","email":"shlok.srivastava15@gmail.com","login":"shlok007","count":13},{"name":"Bradly Feeley","email":"4227+bradly","login":"bradly","count":12},{"name":"Dorian Marié","email":"dorian@dorianmarie.fr","login":"dorianmariefr","count":12},{"name":"Tristan Dunn","email":"tristanzdunn@gmail.com","login":"tristandunn","count":12},{"name":"David Rodríguez","email":"deivid.rodriguez@riseup.net","login":"deivid-rodriguez","count":12},{"name":"Jon Moss","email":"me@jonathanmoss.me","login":"maclover7","count":11},{"name":"Takuya Noguchi","email":"takninnovationresearch@gmail.com","login":"tnir","count":11},{"name":"John Trupiano","email":"jtrupiano@gmail.com","login":"jtrupiano","count":11},{"name":"Espartaco Palma","email":"esparta@gmail.com","login":"esparta","count":11},{"name":"Felipe Tanus","email":"fotanus@gmail.com","login":"fotanus","count":11},{"name":"Nathan Sutton","email":"nate@sevenwire.com","login":null,"count":11},{"name":"Tad Hosford","email":"tad@isotope11.com","login":null,"count":11},{"name":"Jeff Kreeftmeijer","email":"jeff@kreeftmeijer.nl","login":null,"count":11},{"name":"David A. Black","email":"dblack@rubypal.com","login":"dblack","count":10},{"name":"Mercedes Bernard","email":"mercedesrbernard@gmail.com","login":"mercedesb","count":10},{"name":"James Tucker","email":"jftucker@gmail.com","login":"raggi","count":10},{"name":"Andy Holman","email":"andy@conspyre.com","login":"zenom","count":9},{"name":"Arun Agrawal","email":"arunagw@gmail.com","login":"arunagw","count":9},{"name":"Lucas Mansur","email":"lucas.mansur2@gmail.com","login":"lmansur","count":9},{"name":"Luciano Sousa","email":"ls@lucianosousa.net","login":null,"count":9},{"name":"Luke Redpath","email":"contact@lukeredpath.co.uk","login":null,"count":9},{"name":"nakul9597","email":"nakul9597@gmail.com","login":"nakul9597","count":9},{"name":"Joshua Clayton","email":"joshua.clayton@gmail.com","login":"joshuaclayton","count":8},{"name":"Benjamin Fleischer","email":"github@benjaminfleischer.com","login":"bf4","count":8},{"name":"Juanito Fatas","email":"katehuang0320@gmail.com","login":"JuanitoFatas","count":8},{"name":"drew olson","email":"olsonas@gmail.com","login":"drewolson","count":8},{"name":"geemus","email":"geemus@gmail.com","login":"geemus","count":8},{"name":"delba","email":"delba@server.fake","login":"delba","count":8},{"name":"Samuel Cochran","email":"sj26@sj26.com","login":"sj26","count":8},{"name":"Nathan Youngman","email":"git@nathany.com","login":"nathany","count":8},{"name":"Maciej Mensfeld","email":"maciej@mensfeld.pl","login":"mensfeld","count":8},{"name":"Jason Lee","email":"huacnlee@gmail.com","login":"huacnlee","count":8},{"name":"Fabian Rodriguez","email":"fabianrbz@gmail.com","login":"fabianrbz","count":8},{"name":"Andreas Loupasakis","email":"alup@aloop.org","login":"alup","count":8},{"name":"Frank Rietta","email":"frank@rietta.com","login":"rietta","count":8},{"name":"Fred Yates","email":"fred@fred-yatess-macbook-pro.local","login":null,"count":8},{"name":"Tyler","email":"tyler@moduscreate.com","login":null,"count":8},{"name":"rochlefebvre","email":"roch.lefebvre@shopify.com","login":"rochlefebvre","count":7},{"name":"Philip Arndt","email":"parndt@gmail.com","login":"parndt","count":7},{"name":"Sebastian Staudt","email":"koraktor@gmail.com","login":"koraktor","count":7},{"name":"Patrick Linnane","email":"patrick@linnane.io","login":"p-linnane","count":7},{"name":"LH","email":"lh@lhdv.net","login":"lhdv","count":7},{"name":"Javier Menéndez Rizo","email":"jmenendez087@gmail.com","login":"javier-menendez","count":7},{"name":"Jakub Suder","email":"jakub.suder@gmail.com","login":"mackuba","count":7},{"name":"Grey Baker","email":"greysteil@gmail.com","login":"greysteil","count":7},{"name":"Fletcher Wilkens","email":"fletcher.wilkens1@gmail.com","login":"fwilkens","count":7},{"name":"Matt Mongeau","email":"matt@toastyapps.com","login":null,"count":7},{"name":"Erik Michaels-Ober","email":"erik@instcart.com","login":null,"count":6},{"name":"Tyler Knappe","email":"tyler.knappe@teamsnap.com","login":null,"count":6},{"name":"Chad Fowler","email":"chad@chadfowler.com","login":"chad","count":6},{"name":"George Ma","email":"george.ma@shopify.com","login":"george-ma","count":6},{"name":"Jeremy Lecour","email":"jeremy.lecour@gmail.com","login":"jlecour","count":6},{"name":"Masahiro","email":"watanabe@cadenza-tech.com","login":"w-masahiro-ct","count":6},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":6},{"name":"Postmodern","email":"postmodern.mod3@gmail.com","login":"postmodern","count":6},{"name":"Steve Richert","email":"steve.richert@gmail.com","login":"laserlemon","count":6},{"name":"Weston Platter","email":"westonplatter@gmail.com","login":"westonplatter","count":6},{"name":"Ezekiel Smithburg","email":"tehgeekmeister@gmail.com","login":"heartpunk","count":5},{"name":"Gary Tou","email":"gary@garytou.com","login":"garyhtou","count":5},{"name":"Hsing-Hui Hsu","email":"hhhsu1@gmail.com","login":"Elffers","count":5},{"name":"Jeroen van Baarsen","email":"jeroenvanbaarsen@gmail.com","login":"jvanbaarsen","count":5},{"name":"Joshua Nichols","email":"josh@technicalpickles.com","login":"technicalpickles","count":5},{"name":"Mark McSpadden","email":"markmcspadden@gmail.com","login":"markmcspadden","count":5},{"name":"Marty Haught","email":"mghaught","login":"mghaught","count":5},{"name":"Peter Wilmott","email":"p@p8952.info","login":"p8952","count":5},{"name":"Rahul Zhade","email":"rzhade3","login":"rzhade3","count":5},{"name":"Stephanie Morillo","email":"rubymorillo","login":"rubymorillo","count":5},{"name":"Matt Van Horn","email":"mvanhorn","login":"mvanhorn","count":5},{"name":"Erick Sasse","email":"esasse@gmail.com","login":"esasse","count":5},{"name":"Arthur Nogueira Neves","email":"github@arthurnn.com","login":null,"count":5},{"name":"Ben Brinckerhoff","email":"ben@devver.net","login":null,"count":5},{"name":"Colby Swandale","email":"colby@taplaboratories.com","login":null,"count":5},{"name":"Facundo Padula","email":"facundo.padula@cedarcode.com","login":null,"count":5},{"name":"Nicolas Leger","email":"nicolas.leger@nleger.com","login":null,"count":5},{"name":"Ryan Neufeld","email":"ryan@ryanneufeld.ca","login":null,"count":5},{"name":"Mattia Giuffrida","email":"giuffrida.mattia@gmail.com","login":"iMacTia","count":4},{"name":"y-yagi","email":"yuuji.yaginuma@gmail.com","login":"y-yagi","count":4},{"name":"Melissa","email":"melissa.a.voegeli@gmail.com","login":"melissavoegeli","count":4},{"name":"Nick Plante","email":"nap@zerosum.org","login":"zapnap","count":4},{"name":"Reece Dunham","email":"me@rdil.rocks","login":"RDIL","count":4},{"name":"Rob Stringer","email":"41843577+Mycobee","login":"Mycobee","count":4},{"name":"Stepan Tubanov","email":"stepan773@gmail.com","login":"stepantubanov","count":4},{"name":"Sylvain Abélard","email":"sylvain.abelard@gmail.com","login":"abelards","count":4},{"name":"dancristianb","email":"32739319+dancristianb","login":"dancristianb","count":4},{"name":"gemmaro","email":"gemmaro.dev@gmail.com","login":"gemmaro","count":4},{"name":"hrs","email":"hrs113355@gmail.com","login":"hrs113355","count":4},{"name":"knappe","email":"tyler.knappe@gmail.com","login":"knappe","count":4},{"name":"Netto Farah","email":"nettofarah@gmail.com","login":"nettofarah","count":4},{"name":"Mark Bennett","email":"mark@burmis.ca","login":"MarkBennett","count":4},{"name":"Marcin Urbański","email":"marcin@urbanski.vdl.pl","login":"murbanski","count":4},{"name":"Kerri Miller","email":"kerrizor@kerrizor.com","login":"kerrizor","count":4},{"name":"John McCann","email":"johnfrancismccann@gmail.com","login":"johnfrancismccann","count":4},{"name":"Jimmy Cuadra","email":"jimmy@jimmycuadra.com","login":"jimmycuadra","count":4},{"name":"Jeroen Versteeg","email":"jeroen@alisqi.com","login":"drjayvee","count":4},{"name":"Jeff Smick","email":"sprsquish@gmail.com","login":"sprsquish","count":4},{"name":"Chris Kite","email":"chris@chriskite.com","login":"chriskite","count":4},{"name":"Benoit Tigeot","email":"benoit.tigeot@lifen.fr","login":"benoittgt","count":4},{"name":"Tieg Zaharia","email":"tieg@tidelift.com","login":"tiegz","count":4},{"name":"Josh Clayton and Nick Quaranto","email":"support+jclayton+nquaranto@thoughtbot.com","login":null,"count":4},{"name":"James Rosen","email":"jrosen@mitre.org","login":null,"count":4},{"name":"thenoseman","email":"frank.schumacher.privat@gmail.com","login":"thenoseman","count":3},{"name":"stve","email":"steve.agalloco@gmail.com","login":"stve","count":3},{"name":"ohbarye","email":"over.rye@gmail.com","login":"ohbarye","count":3},{"name":"Yusuke Endoh","email":"mame@ruby-lang.org","login":"mame","count":3},{"name":"Ulysse Buonomo","email":"buonomo.ulysse@gmail.com","login":"BuonOmo","count":3},{"name":"Lorraine C","email":"lchan912@gmail.com","login":"LoChanHi5","count":3},{"name":"Maximilian Lupke","email":"simply.malu@googlemail.com","login":"malu","count":3},{"name":"Mike Naberezny","email":"mike@naberezny.com","login":"mnaberez","count":3},{"name":"Nick Schwaderer","email":"nick.schwaderer@shopify.com","login":"Schwad","count":3},{"name":"Nicolás Hock Isaza","email":"nhocki@gmail.com","login":"nhocki","count":3},{"name":"Nikita Vasilevsky","email":"nikita.vasilevsky@shopify.com","login":"nvasilevski","count":3},{"name":"Tijmen Brommet","email":"tijmen@gmail.com","login":"tijmenb","count":3},{"name":"Suriyaa Kudo","email":"SuriyaaKudoIsc","login":"SuriyaaKudoIsc","count":3},{"name":"Brian Cardarella","email":"bcardarella@gmail.com","login":"bcardarella","count":3},{"name":"Claudio B","email":"claudiob","login":"claudiob","count":3},{"name":"Dylan Markow","email":"dm@petefowler.com","login":"dmarkow","count":3},{"name":"James Healy","email":"james@buildkite.com","login":"yob","count":3},{"name":"Terence Lee","email":"terence@heroku.com","login":"hone","count":3},{"name":"albertchae","email":"217050+albertchae","login":"albertchae","count":3},{"name":"Wouter","email":"wwijsman@live.nl","login":"sharkwouter","count":3},{"name":"Aaron Patterson","email":"tenderlove@ruby-lang.org","login":"tenderlove","count":3},{"name":"Cadu Ribeiro","email":"mail@cadu.dev","login":"duduribeiro","count":3},{"name":"Scott Moak","email":"scott.moak@gmail.com","login":null,"count":3},{"name":"John Pignata","email":"john.pignata@gmail.com","login":null,"count":3},{"name":"Hallison Batista","email":"email@hallisonbatista.com","login":null,"count":3},{"name":"Ivan Kuchin","email":"tadump+git@gmail.com","login":"toy","count":3},{"name":"Gonzalo Rodriguez","email":"grzuy0@gmail.com","login":"grzuy","count":3},{"name":"Eric Lindvall","email":"eric@5stops.com","login":"eric","count":3},{"name":"Ellen Marie Dash","email":"me@duckie.co","login":"duckinator","count":3},{"name":"Eliot Sykes","email":"eliotsykes@gmail.com","login":"eliotsykes","count":3},{"name":"David Chelimsky","email":"dchelimsky@gmail.com","login":"dchelimsky","count":3},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":3},{"name":"Anton Davydov","email":"antondavydov.o@gmail.com","login":"davydovanton","count":3},{"name":"Andrew Nesbitt","email":"andrewnez@gmail.com","login":"andrew","count":3},{"name":"Andrey Ognevsky","email":"a.ognevsky@gmail.com","login":"ognevsky","count":3},{"name":"Jacklyn Ma","email":"29336370+jacklynhma","login":"jacklynhma","count":3},{"name":"Jason Hsu","email":"jhsu802701@jasonhsu.com","login":"jhsu802701","count":3},{"name":"Jon Guymon","email":"jon@newrelic.com","login":"gnarg","count":3},{"name":"Keith Marcum","email":"marcum.keith@gmail.com","login":"kamarcum","count":3},{"name":"Kir Shatrov","email":"shatrov@me.com","login":"kirs","count":3},{"name":"Kyle Neath","email":"kneath@gmail.com","login":"kneath","count":3},{"name":"Shota Miyazaki","email":"jmsf0203@gmail.com","login":"mazamachi","count":3},{"name":"Robby Russell","email":"robby@planetargon.com","login":"robbyrussell","count":3},{"name":"Reed Loden","email":"reed@reedloden.com","login":"reedloden","count":3},{"name":"Parker Moore","email":"parkrmoore@gmail.com","login":"parkr","count":3},{"name":"Alessandro Rodi","email":"coorasse@gmail.com","login":"coorasse","count":2},{"name":"Alex Mitchell","email":"amitchellofficial@gmail.com","login":"A-Mitch","count":2},{"name":"Americo Duarte","email":"americodls@gmail.com","login":"americodls","count":2},{"name":"Amos King","email":"amos.l.king@gmail.com","login":"adkron","count":2},{"name":"Anuj Dutta","email":"anuj@andhapp.com","login":"andhapp","count":2},{"name":"Ben Orenstein","email":"ben.orenstein@gmail.com","login":"r00k","count":2},{"name":"Brian Ryckbost","email":"bryckbost@gmail.com","login":"bryckbost","count":2},{"name":"Chase","email":"chase.gilliam@gmail.com","login":"Ch4s3","count":2},{"name":"Christine Seeman","email":"christine.seeman@sofwarellc.com","login":"cseeman","count":2},{"name":"David Stone","email":"david@gixug.com","login":"stabbylambda","count":2},{"name":"David Underwood","email":"davefp@gmail.com","login":"davefp","count":2},{"name":"Derek Prior","email":"derekprior@gmail.com","login":"derekprior","count":2},{"name":"El Skwid (Don Morrison)","email":"elskwid@gmail.com","login":"elskwid","count":2},{"name":"Eric Hodel","email":"drbrain@segment7.net","login":"drbrain","count":2},{"name":"Ernane Ferreira","email":"ernane.junior25@gmail.com","login":"ErnaneJ","count":2},{"name":"George Drummond","email":"georgedrummond@gmail.com","login":"georgedrummond","count":2},{"name":"Grant Hollingworth","email":"grant@antiflux.org","login":"granth","count":2},{"name":"Guillermo Iguaran","email":"guilleiguaran@gmail.com","login":"guilleiguaran","count":2},{"name":"Harry Kiselev","email":"harry.kiselev@gmail.com","login":"harrykiselev","count":2},{"name":"Hemang Bhagat","email":"bhagathemang360@gmail.com","login":"Hemang360","count":2},{"name":"Hrvoje Šimić","email":"shime.ferovac@gmail.com","login":"shime","count":2},{"name":"Hudson","email":"78623737+hudson0xf","login":"hudson0xf","count":2},{"name":"Tony Liao","email":"kuanchiliao@gmail.com","login":"Kuanchiliao1","count":2},{"name":"Andre Medeiros","email":"me@andremedeiros.info","login":null,"count":2},{"name":"Avdi Grimm","email":"avdi@avdi.org","login":null,"count":2},{"name":"Ben Hamill","email":"git-commits@benhamill.com","login":null,"count":2},{"name":"Carl Lerche","email":"carllerche@mac.com","login":null,"count":2},{"name":"Christoph Schiessl","email":"cs@proactive.cc","login":null,"count":2},{"name":"Emmanuel Hayford","email":"hi@manny.codes","login":null,"count":2},{"name":"Evan Phoenix","email":"ephoenix@engineyard.com","login":null,"count":2},{"name":"Jonathan Claudius","email":"jclaudius@mozilla.com","login":null,"count":2},{"name":"Josef Stribny","email":"jstribny@redhat.com","login":null,"count":2},{"name":"Luke Chadwick","email":"luke.a.chadwick@gmail.com","login":null,"count":2},{"name":"Mason Fischer","email":"mason@thoughtbot.com","login":null,"count":2},{"name":"Matthew Ginnard","email":"matthew@runscope.com","login":null,"count":2},{"name":"Ryan R. Smith","email":"this.ryansmith@gmail.com","login":null,"count":2},{"name":"anand9","email":"anandvasudevan@aekaconsulting.com","login":null,"count":2},{"name":"Zander Mackie","email":"zander@skilledup.com","login":null,"count":2},{"name":"Yoshiyuki Hirano","email":"yhirano@aiming-inc.com","login":null,"count":2},{"name":"fotanus@gmail.com","email":"Felipe Tanus","login":null,"count":2},{"name":"Sergey Fedorov","email":"oni.strech@gmail.com","login":"Strech","count":2},{"name":"Mike Dalessio","email":"mike.dalessio@gmail.com","login":"flavorjones","count":2},{"name":"KevinS","email":"kevin.saison91@gmail.com","login":"DoctorFateKS","count":2},{"name":"Kazuhiro NISHIYAMA","email":"zn@mbf.nifty.com","login":"znz","count":2},{"name":"Ian Ker-Seymer","email":"i.kerseymer@gmail.com","login":"ianks","count":2},{"name":"Aditya Prakash","email":"aditya.pr@media.net","login":"aditya-pr","count":2},{"name":"Nikki Murray","email":"nikki.liz.murray@gmail.com","login":"jdax","count":2},{"name":"OKURA Masafumi","email":"masafumi.o1988@gmail.com","login":"okuramasafumi","count":2},{"name":"Oleg","email":"oleg@khabarov.ca","login":"GBH","count":2},{"name":"Or","email":"orshadad@gmail.com","login":"Akrabut","count":2},{"name":"Peter Boling","email":"peter.boling@gmail.com","login":"pboling","count":2},{"name":"Phil Nash","email":"philnash@gmail.com","login":"philnash","count":2},{"name":"YutaGoto","email":"you.goto.510@gmail.com","login":"YutaGoto","count":2},{"name":"mikit","email":"mikihito0906@gmail.com","login":"m1kit","count":2},{"name":"Tony Miller","email":"mcfiredrill@gmail.com","login":"mcfiredrill","count":2},{"name":"Vincent J. DeVendra","email":"VinceDeVendra@gmail.com","login":"vincedevendra","count":2},{"name":"eileencodes","email":"eileencodes@gmail.com","login":"eileencodes","count":2},{"name":"Josh Kalderimis","email":"josh.kalderimis@gmail.com","login":"joshk","count":2},{"name":"e-sabelhaus","email":"eric.sabelhaus@gmail.com","login":"esabelhaus","count":2},{"name":"neilnaveen","email":"42328488+neilnaveen","login":"neilnaveen","count":2},{"name":"B3","email":"52599949+a5-stable","login":"a5-stable","count":2},{"name":"Garen J. Torikian","email":"gjtorikian","login":"gjtorikian","count":2},{"name":"dushankw","email":"292121796+dkw-oss","login":"dkw-oss","count":2},{"name":"stirlhoss","email":"stirlhoss@proton.me","login":"stirlhoss","count":2},{"name":"Shunji Nishitani","email":"shun_nishitani@me.com","login":"shunshunNi","count":2},{"name":"Simone Carletti","email":"weppos@weppos.net","login":"weppos","count":2},{"name":"なつき","email":"i@ntk.me","login":"ntkme","count":2},{"name":"Étienne Barrié","email":"etienne.barrie@gmail.com","login":"etiennebarrie","count":2},{"name":"Irmela Goehl","email":"irmela@berlin-coding.de","login":"irmela","count":2},{"name":"Ivan Tse","email":"ivan.tse1@gmail.com","login":"ivantsepp","count":2},{"name":"Jason Garber","email":"jason@sixtwothree.org","login":"jgarber623","count":2},{"name":"Jason Morrison","email":"jason.p.morrison@gmail.com","login":"jasonm","count":2},{"name":"Jason Toy","email":"jtoy@jtoy.net","login":"jtoy","count":2},{"name":"Jordon Bedwell","email":"jordon@envygeeks.io","login":"envygeeks","count":2},{"name":"Marcus Stollsteimer","email":"sto.mar@web.de","login":"stomar","count":2},{"name":"Lorenzo Zabot","email":"lorenzozabot@gmail.com","login":"Uaitt","count":2},{"name":"Kerrick Long","email":"me@kerricklong.com","login":"Kerrick","count":2},{"name":"Juan Vásquez","email":"juan@ombulabs.com","login":"JuanVqz","count":2},{"name":"dewski","email":"me@garrettbjerkhoel.com","login":"dewski","count":2},{"name":"Juan Ku Quintana","email":"juan@yellowme.mx","login":"juankuquintana","count":2},{"name":"Joshua Wood","email":"josh@joshuawood.net","login":"joshuap","count":2},{"name":"Daniel Huckstep","email":"darkhelmet@darkhelmetlive.com","login":"darkhelmet","count":2},{"name":"bronzdoc","email":"lsagastume1990@gmail.com","login":"bronzdoc","count":2},{"name":"Mark Tareshawty","email":"tarebyte@gmail.com","login":"tarebyte","count":2},{"name":"Masafumi Koba","email":"473530+ybiquitous","login":"ybiquitous","count":2},{"name":"Michael Berkowitz","email":"michael.berkowitz@gmail.com","login":"mikowitz","count":2},{"name":"Michael Rykov","email":"mrykov@gmail.com","login":"rykov","count":2},{"name":"Mike Rogers","email":"me@mikerogers.io","login":"MikeRogers0","count":2},{"name":"thekuwayama","email":"thekuwayama@gmail.com","login":"thekuwayama","count":2},{"name":"Tim Moore","email":"tmoore@incrementalism.net","login":"TimMoore","count":1},{"name":"Tien","email":"Tiendo1011@gmail.com","login":"tiendo1011","count":1},{"name":"Timo Schilling","email":"timo@schilling.io","login":"timoschilling","count":1},{"name":"Tobias L. Maier","email":"me@tobiasmaier.info","login":"tmaier","count":1},{"name":"Stanislav (Stas) Katkov","email":"github@skatkov.com","login":null,"count":1},{"name":"Tristan Dunn","email":"tdunn@thoughtbot.com","login":null,"count":1},{"name":"Vinny Diehl","email":"gbchaosmaster926@gmail.com","login":null,"count":1},{"name":"camachom","email":"mcama200@gmail.com","login":null,"count":1},{"name":"ppworks","email":"koshikawa@ppworks.jp","login":null,"count":1},{"name":"siddhantBajaj","email":"sbajaj1997.gmail.com","login":null,"count":1},{"name":"张亚宁","email":"zhangyaning@souche.com","login":null,"count":1},{"name":"KieranP","email":"kieran@katipo.co.nz","login":null,"count":1},{"name":"aarongough","email":"aaron@aarongough.com","login":"aarongough","count":1},{"name":"Yoshiyuki Hirano","email":"yhirano@me.com","login":"yhirano55","count":1},{"name":"Yoann Lecuyer","email":"yoann.lecuyer@gmail.com","login":"ylecuyer","count":1},{"name":"Yana Petrova","email":"janavpetrova@gmail.com","login":"JanaVPetrova","count":1},{"name":"Wyatt Greene","email":"techiferous@gmail.com","login":"techiferous","count":1},{"name":"Wayne E. Seguin","email":"wayneeseguin@gmail.com","login":"wayneeseguin","count":1},{"name":"Vipul A M","email":"vipulnsward@gmail.com","login":"vipulnsward","count":1},{"name":"Umofomia","email":"claw@alum.mit.edu","login":"Umofomia","count":1},{"name":"Tylivier","email":"tylivier@envylabs.com","login":"tylivier","count":1},{"name":"Tyler Dooling","email":"tdooling@decisiv.net","login":"tylerdooling","count":1},{"name":"Tom Stuart","email":"tom.stuart@shopify.com","login":"tomstuart","count":1},{"name":"Tom Bryan","email":"hello@tombryan.co","login":"tombryan","count":1},{"name":"Peter Schröder","email":"phoetmail@googlemail.com","login":"phoet","count":1},{"name":"Paul Tarjan","email":"pt@stripe.com","login":"ptarjan","count":1},{"name":"Paul Morganthall","email":"paul@morganthall.com","login":"slothbear","count":1},{"name":"Patrick Reagan","email":"reaganpr@gmail.com","login":"reagent","count":1},{"name":"Nikita Fedyashev","email":"nfedyashev@gmail.com","login":"nfedyashev","count":1},{"name":"Nick Zadrozny","email":"nick@beyondthepath.com","login":"nz","count":1},{"name":"Rumble Huang","email":"r04921058@ntu.edu.tw","login":"khiav223577","count":1},{"name":"Ryan Graham","email":"r.m.graham@gmail.com","login":"rmg","count":1},{"name":"RyanBrushett","email":"ryanbrushett@gmail.com","login":"RyanBrushett","count":1},{"name":"Sam Bostock","email":"sam.bostock@shopify.com","login":"sambostock","count":1},{"name":"Sean Linsley","email":"xovatdev@gmail.com","login":"seanlinsley","count":1},{"name":"Sebastian Sogamoso","email":"sebasoga@gmail.com","login":"sogamoso","count":1},{"name":"Sebastian Wallin","email":"sebastian.wallin@gmail.com","login":"wallin","count":1},{"name":"Shannon Skipper","email":"shannonskipper@gmail.com","login":"havenwood","count":1},{"name":"Shouichi Kamiya","email":"shouichi.kamiya@gmail.com","login":"shouichi","count":1},{"name":"Kingsley Chijioke","email":"dev@kingsleychijioke.me","login":"kinsomicrote","count":1},{"name":"Kirill Shevchenko","email":"kirills167@gmail.com","login":"kirillshevch","count":1},{"name":"aquaranto","email":"amanda@quaran.to","login":"aquaranto","count":1},{"name":"Stefan Daschek","email":"stefan@daschek.net","login":"noniq","count":1},{"name":"StepSecurity Bot","email":"bot@stepsecurity.io","login":"step-security-bot","count":1},{"name":"Stephen Bell","email":"stephen@buildkite.com","login":"wooly","count":1},{"name":"Steve Klabnik","email":"steve@steveklabnik.com","login":"steveklabnik","count":1},{"name":"Steven Haddox","email":"steven@haddox.us","login":"stevenhaddox","count":1},{"name":"Tamer Shlash","email":"mr.tamershlash@gmail.com","login":"TamerShlash","count":1},{"name":"Tasya Aditya Rukmana","email":"tadityar@gmail.com","login":"tadityar","count":1},{"name":"Andrew Stevenson","email":"etherbob","login":"etherbob","count":1},{"name":"bry4n","email":"bryann83@gmail.com","login":"bry4n","count":1},{"name":"ccmywish","email":"63459097+ccmywish","login":"ccmywish","count":1},{"name":"dtaniwaki","email":"daisuketaniwaki@gmail.com","login":"dtaniwaki","count":1},{"name":"emjr","email":"emjrdev@gmail.com","login":"emjrdev","count":1},{"name":"fukajun","email":"fukajun.shark@gmail.com","login":"fukajun","count":1},{"name":"gandaro","email":"811907+gandaro","login":"gandaro","count":1},{"name":"hpoydar","email":"hpoydar@gmail.com","login":"henrypoydar","count":1},{"name":"iain","email":"iain@iain.nl","login":"iain","count":1},{"name":"jsrn","email":"jsrn@hey.com","login":"jsrn","count":1},{"name":"k.wakitani","email":"k.wakitani@gmail.com","login":"wktk","count":1},{"name":"kiranmahale9","email":"kiran.mahale@joshsoftware.com","login":"KiranJosh","count":1},{"name":"mildmojo","email":"theaterfire@yahoo.com","login":"mildmojo","count":1},{"name":"mrb","email":"michaelrbernstein@gmail.com","login":"mrb","count":1},{"name":"neilsimon","email":"nsimon@computer.org","login":"neilsimon","count":1},{"name":"niko","email":"bozi.niko@gmail.com","login":"nikobozi","count":1},{"name":"padulafacundo","email":"padulafacundo@gmail.com","login":"padulafacundo","count":1},{"name":"polamjag","email":"s@polamjag.info","login":"polamjag","count":1},{"name":"ryohei udagawa","email":"63101140+Uda-Titor","login":"Uda-Titor","count":1},{"name":"sh0n0","email":"44708388+sh0n0","login":"sh0n0","count":1},{"name":"shvetsovdm","email":"shvetsovdm@gmail.com","login":"dmshvetsov","count":1},{"name":"tyamagu2","email":"tyamagu2@gmail.com","login":"tyamagu2","count":1},{"name":"ytjmt","email":"46666464+ytjmt","login":"ytjmt","count":1},{"name":"zigomir","email":"zigomir@gmail.com","login":"zigomir","count":1},{"name":"Óscar de Arriba","email":"odarriba@gmail.com","login":"odarriba","count":1},{"name":"Spike Ilacqua","email":"spikex@gmail.com","login":"spikex","count":1},{"name":"Squish","email":"squish@collectiveidea.com","login":null,"count":1},{"name":"Shanon McQuay","email":"shanonmcquay@gmail.com","login":null,"count":1},{"name":"Sam Kottler","email":"shk@linux.com","login":null,"count":1},{"name":"Ryan Brushett","email":"ryan.brushett@shopify.com","login":null,"count":1},{"name":"Rens Verschuren","email":"rensverschuren@gmail.com","login":null,"count":1},{"name":"Robert Mosolgo","email":"rmosolgo@github.com","login":null,"count":1},{"name":"Mike Gunderloy","email":"MikeG1@larkfarm.com","login":null,"count":1},{"name":"Matt Bridges","email":"mbridges.91@gmail.com","login":null,"count":1},{"name":"Kurtis Rainbolt-Greene","email":"me@kurtisrainboltgreene.name","login":null,"count":1},{"name":"Kenneth Kaiser","email":"kennethkaiser@Kenneth-Kaisers-MacBook.local","login":null,"count":1},{"name":"John Hope","email":"info@midhirrecords.com","login":null,"count":1},{"name":"Jim Kingdon","email":"jkingdon@squareup.com","login":null,"count":1},{"name":"JiangLW","email":"jlwabc@126.com","login":null,"count":1},{"name":"Ian Lesperance \u0026 Matt Parker","email":"pair+ilesperance+mparker@pivotallabs.com","login":null,"count":1},{"name":"Hsing-Hui Hsu","email":"hsing-hui@carezone.com","login":null,"count":1},{"name":"Gustavo Villa","email":"gustavo@backlotcars.com","login":null,"count":1},{"name":"Greg Lazarev","email":"greg@thoughtbot.com","login":null,"count":1},{"name":"Gert-Jan van de Streek","email":"g.j.streek@langur.io","login":null,"count":1},{"name":"Gabriel Horner","email":"ghorner@wegowise.com","login":null,"count":1},{"name":"David Padilla","email":"david@easybroker.com","login":null,"count":1},{"name":"Conor Landry","email":"clandry94@ufl.edu","login":null,"count":1},{"name":"Colby Swandale","email":"colby@Colbys-Air.localdomain","login":null,"count":1},{"name":"Anton Ivanov","email":"anton.i@didww.com","login":null,"count":1},{"name":"Angelo Simeoni","email":"angelo@angelo-simeonis-macbook-pro.local","login":null,"count":1},{"name":"0x01f7","email":"souk.0x01f7@gmail.com","login":null,"count":1},{"name":"Alex McHale","email":"alexmchale@gmail.com","login":null,"count":1},{"name":"Dan Mayer","email":"Danmayer@gmail.com","login":"danmayer","count":1},{"name":"Daniel Bengl","email":"53896675+CuddlyBunion341","login":"CuddlyBunion341","count":1},{"name":"Daniel Huss","email":"63384617+Daniel-N-Huss","login":"Daniel-N-Huss","count":1},{"name":"Daniel Sullivan","email":"danielalexandersullivan@gmail.com","login":"dannysullivan","count":1},{"name":"DanielAmah","email":"amahdanieljack@gmail.com","login":"DanielAmah","count":1},{"name":"Danny Whalen","email":"daniel.r.whalen@gmail.com","login":"invisiblefunnel","count":1},{"name":"David Silveira","email":"desenvolvedor.david@gmail.com","login":"davidsilveira","count":1},{"name":"Dr Nic Williams","email":"drnicwilliams@gmail.com","login":"drnic","count":1},{"name":"Earlopain","email":"14981592+Earlopain","login":"Earlopain","count":1},{"name":"Edward Rudd","email":"urkle@outoforder.cc","login":"urkle","count":1},{"name":"Eloy Duran","email":"eloy.de.enige@gmail.com","login":"alloy","count":1},{"name":"Emil Ng","email":"github@alphabeticaldisorder.com","login":"emilng","count":1},{"name":"ErgoLau","email":"coderliu@hotmail.com","login":"coderliu","count":1},{"name":"Eric Case","email":"141883771+case-fastly","login":"case-fastly","count":1},{"name":"Eric Turner","email":"ericturnerdev@gmail.com","login":"etdev","count":1},{"name":"Evan Prothro","email":"evan.prothro@gmail.com","login":"eprothro","count":1},{"name":"Federico Aldunate","email":"39736940+federicoaldunate","login":"federicoaldunate","count":1},{"name":"Fletcher Nichol","email":"fnichol@nichol.ca","login":"fnichol","count":1},{"name":"Frank Groeneveld","email":"frenkel","login":"frenkel","count":1},{"name":"Frank Hamand","email":"frankhamand@gmail.com","login":"frankh","count":1},{"name":"Gabe Berke-Williams","email":"gabebw@gabebw.com","login":"gabebw","count":1},{"name":"Gabriel Gilder","email":"gabriel.gilder+github@gmail.com","login":"ggilder","count":1},{"name":"Gary S. Weaver","email":"garysweaver@gmail.com","login":"garysweaver","count":1},{"name":"Gaurish Sharma","email":"contact@gaurishsharma.com","login":"gaurish","count":1},{"name":"Gift Egwuenu","email":"laurandidi21@gmail.com","login":"lauragift21","count":1},{"name":"Guilherme Souza","email":"Guivideojob@gmail.com","login":"guilhermef","count":1},{"name":"Hans Lemuet","email":"Spone","login":"Spone","count":1},{"name":"Hasan Özovalı","email":"ozovalihasan@gmail.com","login":"ozovalihasan","count":1},{"name":"Henrik Nyh","email":"henrik@nyh.se","login":"henrik","count":1},{"name":"Anand Vasudevan","email":"anandvasudevan9@gmail.com","login":"anand9","count":1},{"name":"Aman Gupta","email":"aman@tmm1.net","login":"tmm1","count":1},{"name":"Alexandre Terrasa","email":"alexandre.terrasa@shopify.com","login":"Morriar","count":1},{"name":"Albert Vernon","email":"aev@vernon.nu","login":"aevernon","count":1},{"name":"Akinori MUSHA","email":"knu@idaemons.org","login":"knu","count":1},{"name":"Adrian Rangel","email":"adrian.rangel@gmail.com","login":"acrogenesis","count":1},{"name":"Adrian Marin","email":"adrian@adrianthedev.com","login":"adrianthedev","count":1},{"name":"Adarsh Pandit","email":"adarsh","login":"adarsh","count":1},{"name":"Adam Keys","email":"adam@therealadam.com","login":"therealadam","count":1},{"name":"5idereal","email":"nelson22768384@gmail.com","login":"5idereal","count":1},{"name":"Ashwin Maroli","email":"ashmaroli@gmail.com","login":"ashmaroli","count":1},{"name":"Barry Allard","email":"barry.allard@gmail.com","login":"skull-squadron","count":1},{"name":"Ben Koshy","email":"benkoshy@hotmail.com","login":"benkoshy","count":1},{"name":"Ben Lovell","email":"benjamin.lovell@gmail.com","login":"benlovell","count":1},{"name":"Benjamin Bock","email":"bb--github.com@bock.be","login":"bb","count":1},{"name":"Benjamin Reed","email":"benvreed@gmail.com","login":"codeblooded","count":1},{"name":"Bob Whitelock","email":"bob.whitelock1@gmail.com","login":"bobwhitelock","count":1},{"name":"Bogdan","email":"bogdanvlviv@gmail.com","login":"bogdanvlviv","count":1},{"name":"Brian Lopez","email":"seniorlopez@gmail.com","login":"brianmario","count":1},{"name":"Bryan Helmkamp","email":"bryan@brynary.com","login":"brynary","count":1},{"name":"Chad Whitacre","email":"chad@zetaweb.com","login":"chadwhitacre","count":1},{"name":"Charles Strahan","email":"charles.c.strahan@gmail.com","login":"cstrahan","count":1},{"name":"Chris Griego","email":"cgriego@gmail.com","login":"cgriego","count":1},{"name":"Chris Kelly","email":"amateurhuman@gmail.com","login":"amateurhuman","count":1},{"name":"Christopher Redinger","email":"redinger@gmail.com","login":"redinger","count":1},{"name":"Clément Prod'homme","email":"prodhomme.clement@hotmail.fr","login":"cprodhomme","count":1},{"name":"Collin Fry","email":"collin@runscope.com","login":"CollinFry","count":1},{"name":"Coralie Collignon","email":"coralie.collignon@gmail.com","login":"coralieco","count":1},{"name":"Damian Janowski","email":"damian.janowski@gmail.com","login":"djanowski","count":1},{"name":"Ian Morgan","email":"ian@ruby-code.com","login":"seeingidog","count":1},{"name":"Larry Marburger","email":"larry@marburger.cc","login":"lmarburger","count":1},{"name":"Lastimoso","email":"gerardoraiden@gmail.com","login":"Lastimoso","count":1},{"name":"Leo Gallucci","email":"elgalu3@gmail.com","login":"elgalu","count":1},{"name":"Luís Ferreira","email":"luis@zamith.pt","login":"zamith","count":1},{"name":"Manuel Meurer","email":"manuel@meurer.io","login":"manuelmeurer","count":1},{"name":"Marco Roth","email":"marco.roth@intergga.ch","login":"marcoroth","count":1},{"name":"Mark IJbema","email":"markijbema@gmail.com","login":"markijbema","count":1},{"name":"Masataka Pocke Kuwabara","email":"kuwabara@pocke.me","login":"pocke","count":1},{"name":"Matias Mascazzini","email":"matiasmasca@gmail.com","login":"matiasmasca","count":1},{"name":"Matt Gillooly","email":"matt@mattgillooly.com","login":"mattgillooly","count":1},{"name":"Matt Muller","email":"mamuller@amazon.com","login":"mullermp","count":1},{"name":"Matt Pruitt","email":"guitsaru@gmail.com","login":"guitsaru","count":1},{"name":"Matt Solt","email":"mattsolt@gmail.com","login":"activefx","count":1},{"name":"Mega Man","email":"mail@yvisherve.net","login":"yvisherve","count":1},{"name":"Megan Tiu","email":"megantiu@me.com","login":"maximumtiu","count":1},{"name":"Mehul Kar","email":"github@mehulkar.com","login":"mehulkar","count":1},{"name":"Melvin","email":"melvinsh","login":"melvinsh","count":1},{"name":"Michael Fairley","email":"michaelfairley@gmail.com","login":"michaelfairley","count":1},{"name":"Michael Fellinger","email":"m.fellinger@gmail.com","login":"manveru","count":1},{"name":"Mike Burns","email":"mburns@thoughtbot.com","login":"mike-burns","count":1},{"name":"Mostafa Ahangarha","email":"ahangarha@riseup.net","login":"ahangarha","count":1},{"name":"Nathan Weizenbaum","email":"nex342@gmail.com","login":"nex3","count":1},{"name":"Nick Howard","email":"ndh@baroquebobcat.com","login":"baroquebobcat","count":1},{"name":"alpaca-tc","email":"alpaca-tc@alpaca.tc","login":"alpaca-tc","count":1},{"name":"Robert Fletcher","email":"lobatifricha@gmail.com","login":"mockdeep","count":1},{"name":"Prem Sichanugrist","email":"s@sikac.hu","login":"sikachu","count":1},{"name":"Pierre Riteau","email":"priteau@gmail.com","login":"priteau","count":1},{"name":"Philipe Fatio","email":"me@phili.pe","login":"fphilipe","count":1},{"name":"Philip Champon","email":"pchampon@gmail.com","login":"flah00","count":1},{"name":"Ignacio Huerta","email":"ignacio@ihuerta.net","login":"iox","count":1},{"name":"Inchworm","email":"inchy@inchworm.io","login":"inchworm","count":1},{"name":"JP","email":"85654561+jp524","login":"jp524","count":1},{"name":"Jake Bills","email":"jakebills1@gmail.com","login":"jakebills1","count":1},{"name":"Janko Marohnić","email":"janko.marohnic@gmail.com","login":"janko","count":1},{"name":"Jared McFarland","email":"jared.online@gmail.com","login":"jaredonline","count":1},{"name":"Jared Turner","email":"jaredlt01@gmail.com","login":"jaredlt","count":1},{"name":"Jeff Taggart","email":"jeff@jetaggart.com","login":"jetaggart","count":1},{"name":"Jeremy Evans","email":"code@jeremyevans.net","login":"jeremyevans","count":1},{"name":"Jeremy Green","email":"jeremy@octolabs.com","login":"jagthedrummer","count":1},{"name":"Jeremy Hinegardner","email":"jeremy@copiousfreetime.org","login":"copiousfreetime","count":1},{"name":"Jesús Burgos Maciá","email":"Jesus","login":"Jesus","count":1},{"name":"Jim Weirich","email":"jim.weirich@gmail.com","login":"jimweirich","count":1},{"name":"Jiri Zajpt","email":"jzajpt","login":"jzajpt","count":1},{"name":"Joel Drapper","email":"joel@drapper.me","login":"joeldrapper","count":1},{"name":"John Bachir","email":"jjb","login":"jjb","count":1},{"name":"John Barnette","email":"jbarnette@gmail.com","login":"jbarnette","count":1},{"name":"John Lin","email":"johnlin@exosite.com","login":"johnlinvc","count":1},{"name":"Jon Cairns","email":"jon@joncairns.com","login":"joonty","count":1},{"name":"Joseph Hsu","email":"jhsu.x1@gmail.com","login":"jhsu","count":1},{"name":"João Soares","email":"jsoaresgeral@gmail.com","login":"jasoares","count":1},{"name":"Juanjo Bazán","email":"jjbazan@gmail.com","login":"xuanxu","count":1},{"name":"Julio Farah","email":"julio.farah@gmail.com","login":"juliofarah","count":1},{"name":"Kairo Araujo","email":"kairo@dearaujo.nl","login":"kairoaraujo","count":1},{"name":"Kazuki Nishikawa","email":"kz.nishikawa@gmail.com","login":"kzkn","count":1},{"name":"Kenichi Kamiya","email":"kachick1@gmail.com","login":"kachick","count":1},{"name":"Kevin McPhillips","email":"github@kevinmcphillips.ca","login":"kmcphillips","count":1},{"name":"Andrew Marshall","email":"andrew@johnandrewmarshall.com","login":"amarshall","count":1},{"name":"Lachlan Sylvester","email":"lachlan.sylvester@hypothetical.com.au","login":"lsylvester","count":1},{"name":"Peter Suschlik","email":"peter@suschlik.de","login":"splattael","count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":435},{"name":"Colby Swandale","email":"colby@rubygems.org","login":"colby-swandale","count":90},{"name":"Jenny Shen","email":"jenny.shen@shopify.com","login":"jenshenny","count":50},{"name":"Nicholas La Roux","email":"larouxn@gmail.com","login":"larouxn","count":32},{"name":"Landon Grindheim","email":"landon.grindheim@gmail.com","login":"landongrindheim","count":22},{"name":"Brian Penguin","email":"tenggren@thoughtbot.com","login":"brian-penguin","count":18},{"name":"Gira Chawda","email":"gira.chawda@shopify.com","login":"girachawda","count":15},{"name":"Harriet Oughton","email":"harriet.oughton@shopify.com","login":"OughtPuts","count":13},{"name":"Patrick Linnane","email":"patrick@linnane.io","login":"p-linnane","count":7},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":6},{"name":"Matt Van Horn","email":"mvanhorn","login":"mvanhorn","count":5},{"name":"Rob Stringer","email":"41843577+Mycobee","login":"Mycobee","count":4},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":3},{"name":"Maciej Mensfeld","email":"maciej@mensfeld.pl","login":"mensfeld","count":3},{"name":"Aaron Patterson","email":"tenderlove@ruby-lang.org","login":"tenderlove","count":2},{"name":"Christine Seeman","email":"christine.seeman@sofwarellc.com","login":"cseeman","count":2},{"name":"David Radcliffe","email":"david.radcliffe@shopify.com","login":"dwradcliffe","count":2},{"name":"Ernane Ferreira","email":"ernane.junior25@gmail.com","login":"ErnaneJ","count":2},{"name":"Hemang Bhagat","email":"bhagathemang360@gmail.com","login":"Hemang360","count":2},{"name":"Kerrick Long","email":"me@kerricklong.com","login":"Kerrick","count":2},{"name":"Sergey Fedorov","email":"oni.strech@gmail.com","login":"Strech","count":2},{"name":"Mike Dalessio","email":"mike.dalessio@gmail.com","login":"flavorjones","count":2},{"name":"Martin Emde","email":"martinemde","login":"martinemde","count":2},{"name":"KevinS","email":"kevin.saison91@gmail.com","login":"DoctorFateKS","count":2},{"name":"Marty Haught","email":"mghaught","login":"mghaught","count":2},{"name":"eileencodes","email":"eileencodes@gmail.com","login":"eileencodes","count":2},{"name":"dushankw","email":"292121796+dkw-oss","login":"dkw-oss","count":2},{"name":"なつき","email":"i@ntk.me","login":"ntkme","count":1},{"name":"y-yagi","email":"yuuji.yaginuma@gmail.com","login":"y-yagi","count":1},{"name":"gemmaro","email":"gemmaro.dev@gmail.com","login":"gemmaro","count":1},{"name":"gandaro","email":"811907+gandaro","login":"gandaro","count":1},{"name":"dancristianb","email":"32739319+dancristianb","login":"dancristianb","count":1},{"name":"alpaca-tc","email":"alpaca-tc@alpaca.tc","login":"alpaca-tc","count":1},{"name":"Matt Solt","email":"mattsolt@gmail.com","login":"activefx","count":1},{"name":"Eric Case","email":"141883771+case-fastly","login":"case-fastly","count":1},{"name":"Jeremy Evans","email":"code@jeremyevans.net","login":"jeremyevans","count":1},{"name":"Jason Hsu","email":"jhsu802701@jasonhsu.com","login":"jhsu802701","count":1},{"name":"Jared Turner","email":"jaredlt01@gmail.com","login":"jaredlt","count":1},{"name":"Jake Bills","email":"jakebills1@gmail.com","login":"jakebills1","count":1},{"name":"Garen Torikian","email":"gjtorikian","login":"gjtorikian","count":1},{"name":"Federico Aldunate","email":"39736940+federicoaldunate","login":"federicoaldunate","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6752313,"commits_count":978410056,"contributors_count":41242979,"owners_count":1359078,"committers_count":3353170,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"rubygems/rubygems.org","html_url":"https://github.com/rubygems/rubygems.org","last_synced_at":"2026-08-23T13:04:29.440Z","status":null,"issues_count":205,"pull_requests_count":3454,"avg_time_to_close_issue":27726032.7,"avg_time_to_close_pull_request":688965.9381409197,"issues_closed_count":110,"pull_requests_closed_count":3023,"pull_request_authors_count":126,"issue_authors_count":114,"avg_comments_per_issue":2.526829268292683,"avg_comments_per_pull_request":0.9455703532136653,"merged_pull_requests_count":2783,"bot_issues_count":10,"bot_pull_requests_count":2111,"past_year_issues_count":36,"past_year_pull_requests_count":372,"past_year_avg_time_to_close_issue":2406068.153846154,"past_year_avg_time_to_close_pull_request":492763.1382113821,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":246,"past_year_pull_request_authors_count":38,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":1.0833333333333333,"past_year_avg_comments_per_pull_request":0.8817204301075269,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":175,"past_year_merged_pull_requests_count":214,"created_at":"2023-05-12T08:00:50.136Z","updated_at":"2026-08-23T13:04:29.440Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubygems%2Frubygems.org/issues","issue_labels_count":{"table":{"feature":60,"bug":58,"good first issue":14,"dependencies":10,"ruby":9,"enhancement":5,"design":4,"discussion":1,"compact-index":1,"health":1,"i18n":1,"infra":1,"api":1,"maintenance":1,"github_actions":1,"patch":1}},"pull_request_labels_count":{"table":{"dependencies":2110,"ruby":1627,"github_actions":482,"patch":249,"blocked":7,"compact-index":6,"rails upgrade":4,"discussion":1,"needs-i18n-review":1,"requires-reindex":1,"locale":1,"i18n":1,"Bits AI":1}},"issue_author_associations_count":{"table":{"NONE":89,"MEMBER":70,"CONTRIBUTOR":46}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":2348,"MEMBER":1026,"NONE":79,"OWNER":1}},"issue_authors":{"table":{"jenshenny":15,"indirect":12,"dependabot[bot]":10,"martinemde":10,"landongrindheim":10,"mghaught":8,"rubyFeedback":8,"colby-swandale":7,"sonalkr132":4,"ioquatix":3,"yob":3,"brian-penguin":3,"segiddins":3,"bettymakes":3,"svoop":2,"parkr":2,"Earlopain":2,"girachawda":2,"LukeIGS":2,"mensfeld":2,"kedi":1,"MarketingPip":1,"TAGraves":1,"dotnetCarpenter":1,"maximecb":1,"williantenfen":1,"BanzaiMan":1,"Fryguy":1,"byroot":1,"danielmorrison":1,"tnir":1,"qrush":1,"HoneyryderChuck":1,"ijunxyz123":1,"deivid-rodriguez":1,"kevinlinxc":1,"mperham":1,"jhawthorn":1,"ekohl":1,"Kuanchiliao1":1,"gjtorikian":1,"ericherscovich":1,"sfnelson":1,"Paul-Bob":1,"mikhaillopandia":1,"tedgarb":1,"jonatas":1,"halostatue":1,"theflow":1,"duckinator":1,"meganemura":1,"pointlessone":1,"localhostdotdev":1,"jez":1,"maedi":1,"markets":1,"evman182":1,"copiousfreetime":1,"iMacTia":1,"jakebills1":1,"jsvd":1,"paddor":1,"Brattysexxiibabygirl":1,"lio-p":1,"colinbruce":1,"simi":1,"pboling":1,"slugclub":1,"berubenic":1,"robbyrussell":1,"soda92":1,"postmodern":1,"mdesantis":1,"mms-pl":1,"dentarg":1,"jhsu802701":1,"Peuf54":1,"bcardarella":1,"jcoyne":1,"Schwad":1,"ahoward":1,"anton-bondaronok":1,"javier-menendez":1,"ybiquitous":1,"etherbob":1,"LWFlouisa":1,"andyw8":1,"KaanOzkan":1,"mathieujobin":1,"nobu":1,"mslinn":1,"sergio-bobillier":1,"Largo":1,"RobertDober":1,"jasnow":1,"activefx":1,"shqear93":1,"haines":1,"aellispierce":1,"brutuscat":1,"dnrce":1,"runephilosof-abtion":1,"ghost":1,"mattbrictson":1,"moofkit":1,"zenspider":1,"mohsen-alizadeh":1,"esparta":1,"neilharris123":1,"wallymathieu":1,"cllns":1,"mattyr":1,"kerrizor":1,"Pinnaclpict07":1}},"pull_request_authors":{"table":{"dependabot[bot]":2110,"segiddins":403,"martinemde":234,"colby-swandale":137,"simi":129,"landongrindheim":48,"jenshenny":40,"brian-penguin":26,"larouxn":23,"girachawda":13,"mghaught":11,"jacklynhma":11,"w-masahiro-ct":11,"indirect":9,"OughtPuts":9,"yob":8,"javier-menendez":7,"hsbt":6,"ericherscovich":6,"robbyrussell":6,"mvanhorn":5,"albertchae":5,"dancristianb":5,"deivid-rodriguez":5,"Kuanchiliao1":5,"gemmaro":5,"p-linnane":4,"george-ma":4,"okuramasafumi":4,"JuanVqz":4,"Earlopain":4,"heyapricot":4,"a5-stable":3,"anton-bondaronok":3,"Uaitt":3,"bettymakes":3,"dkw-oss":3,"Hemang360":3,"jonatas":3,"coorasse":3,"jgarber623":3,"nateberkopec":3,"drjayvee":3,"Copilot":3,"alikabeel-spooner":2,"arunagw":2,"tachyons":2,"etiennebarrie":2,"zzak":2,"ErnaneJ":2,"jakebills1":2,"jjb":2,"ozovalihasan":2,"CuddlyBunion341":2,"dwradcliffe":2,"tenderlove":2,"bradly":2,"5idereal":2,"huacnlee":2,"arthurnn":2,"yykamei":2,"mercedesb":2,"iox":2,"MaxSukhanov":2,"kairoaraujo":2,"JackMcDataGrail":2,"spk":2,"KingDarrius3":2,"sh0n0":2,"manuelmeurer":2,"mehulkar":2,"justinddaniel":2,"kinsomicrote":2,"mensfeld":2,"ijunxyz123":2,"wooly":2,"joeldrapper":2,"ytjmt":2,"federicoaldunate":2,"hmcguire-shopify":1,"arletterocks":1,"sj26":1,"gandaro":1,"mikeygough":1,"mullermp":1,"etherbob":1,"zenspider":1,"hyperschwartz":1,"jp524":1,"Uda-Titor":1,"aellispierce":1,"nevinera":1,"r12habh":1,"A-Mitch":1,"activefx":1,"flavorjones":1,"renovate[bot]":1,"Strech":1,"xuanxu":1,"marcoroth":1,"kevinlinxc":1,"DoctorFateKS":1,"Spone":1,"0x2C6":1,"Mycobee":1,"skatkov":1,"jaredlt":1,"hailey-datagrail":1,"Schwad":1,"ccmywish":1,"kachick":1,"KarlHeitmann":1,"ahangarha":1,"jhsu802701":1,"marcbest":1,"case-fastly":1,"ntkme":1,"garyhtou":1,"ylecuyer":1,"benedictfischer09":1,"alpaca-tc":1,"Daniel-N-Huss":1,"tnir":1,"damien":1,"ljtang2009":1,"y-yagi":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-24T00:00:06.384Z","repositories_count":16303171,"issues_count":42343174,"pull_requests_count":134853951,"authors_count":11516595,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"bug":8,"feature":6,"ruby":2,"dependencies":2,"good first issue":1,"i18n":1,"patch":1,"compact-index":1}},"past_year_pull_request_labels_count":{"table":{"dependencies":175,"ruby":118,"patch":66,"github_actions":57,"compact-index":6,"Bits AI":1}},"past_year_issue_author_associations_count":{"table":{"MEMBER":15,"NONE":11,"CONTRIBUTOR":10}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":272,"MEMBER":82,"NONE":18}},"past_year_issue_authors":{"table":{"jenshenny":8,"brian-penguin":3,"colby-swandale":3,"mghaught":2,"dependabot[bot]":2,"girachawda":2,"ybiquitous":1,"shqear93":1,"moofkit":1,"meganemura":1,"martinemde":1,"MarketingPip":1,"maedi":1,"LWFlouisa":1,"lio-p":1,"landongrindheim":1,"jasnow":1,"haines":1,"copiousfreetime":1,"byroot":1,"bcardarella":1,"anton-bondaronok":1}},"past_year_pull_request_authors":{"table":{"dependabot[bot]":175,"colby-swandale":43,"brian-penguin":26,"larouxn":23,"jenshenny":20,"girachawda":13,"landongrindheim":12,"OughtPuts":9,"mvanhorn":5,"p-linnane":4,"dkw-oss":3,"Copilot":3,"Hemang360":3,"anton-bondaronok":3,"dwradcliffe":2,"ErnaneJ":2,"mghaught":2,"mensfeld":2,"tachyons":2,"tenderlove":2,"Mycobee":1,"nevinera":1,"r12habh":1,"segiddins":1,"simi":1,"Strech":1,"y-yagi":1,"mikeygough":1,"marcbest":1,"jhsu802701":1,"jaredlt":1,"hmcguire-shopify":1,"gandaro":1,"flavorjones":1,"DoctorFateKS":1,"case-fastly":1,"benedictfischer09":1,"alpaca-tc":1}},"maintainers":[{"table":{"login":"segiddins","count":405,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"}},{"table":{"login":"martinemde","count":239,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}},{"table":{"login":"colby-swandale","count":144,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"}},{"table":{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"}},{"table":{"login":"jenshenny","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"}},{"table":{"login":"landongrindheim","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"}},{"table":{"login":"indirect","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/indirect"}},{"table":{"login":"mghaught","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"}},{"table":{"login":"hsbt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}},{"table":{"login":"deivid-rodriguez","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/deivid-rodriguez"}},{"table":{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"}},{"table":{"login":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"}},{"table":{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"}},{"table":{"login":"arthurnn","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arthurnn"}},{"table":{"login":"aellispierce","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aellispierce"}},{"table":{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"}},{"table":{"login":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"}},{"table":{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}},{"table":{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"}},{"table":{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}}],"active_maintainers":[{"table":{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"}},{"table":{"login":"jenshenny","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"}},{"table":{"login":"landongrindheim","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"}},{"table":{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"}},{"table":{"login":"p-linnane","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/p-linnane"}},{"table":{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"}},{"table":{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"}},{"table":{"login":"martinemde","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"}}]}},"events":{"total":{"CommitCommentEvent":2,"CreateEvent":823,"DeleteEvent":807,"ForkEvent":51,"IssueCommentEvent":812,"IssuesEvent":87,"PullRequestEvent":1605,"PullRequestReviewCommentEvent":378,"PullRequestReviewEvent":543,"PushEvent":1743,"WatchEvent":96},"last_year":{"CreateEvent":269,"DeleteEvent":237,"ForkEvent":9,"IssueCommentEvent":139,"IssuesEvent":27,"PullRequestEvent":447,"PullRequestReviewCommentEvent":105,"PullRequestReviewEvent":150,"PushEvent":579,"WatchEvent":20}},"keywords":["package-manager","ruby","rubygems"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:24.492Z","updated_at":"2022-07-07T14:38:24.492Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/Gemfile","dependencies":[{"id":111352400,"package_name":"rails","ecosystem":"rubygems","requirements":"~\u003e 7.0.0","direct":true,"kind":"runtime","optional":false},{"id":111352401,"package_name":"rails-i18n","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352402,"package_name":"aws-sdk-s3","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352403,"package_name":"aws-sdk-sqs","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352404,"package_name":"bootsnap","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352405,"package_name":"clearance","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352406,"package_name":"dalli","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352407,"package_name":"delayed_job","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352408,"package_name":"delayed_job_active_record","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352409,"package_name":"gravtastic","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352410,"package_name":"high_voltage","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352411,"package_name":"honeybadger","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352412,"package_name":"http_accept_language","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352413,"package_name":"jquery-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352414,"package_name":"kaminari","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352415,"package_name":"mail","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352416,"package_name":"newrelic_rpm","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352417,"package_name":"pg","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352418,"package_name":"rack","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352419,"package_name":"rack-utf8_sanitizer","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352420,"package_name":"rbtrace","ecosystem":"rubygems","requirements":"~\u003e 0.4.8","direct":true,"kind":"runtime","optional":false},{"id":111352421,"package_name":"rdoc","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352422,"package_name":"rest-client","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352423,"package_name":"roadie-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352424,"package_name":"shoryuken","ecosystem":"rubygems","requirements":"~\u003e 4.0","direct":true,"kind":"runtime","optional":false},{"id":111352425,"package_name":"statsd-instrument","ecosystem":"rubygems","requirements":"~\u003e 2.3.0","direct":true,"kind":"runtime","optional":false},{"id":111352426,"package_name":"unicorn","ecosystem":"rubygems","requirements":"~\u003e 5.8.0","direct":true,"kind":"runtime","optional":false},{"id":111352427,"package_name":"validates_formatting_of","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352428,"package_name":"elasticsearch","ecosystem":"rubygems","requirements":"~\u003e 7.10.1","direct":true,"kind":"runtime","optional":false},{"id":111352429,"package_name":"elasticsearch-api","ecosystem":"rubygems","requirements":"~\u003e 7.10.1","direct":true,"kind":"runtime","optional":false},{"id":111352430,"package_name":"elasticsearch-transport","ecosystem":"rubygems","requirements":"~\u003e 7.10.1","direct":true,"kind":"runtime","optional":false},{"id":111352431,"package_name":"elasticsearch-model","ecosystem":"rubygems","requirements":"~\u003e 7.0","direct":true,"kind":"runtime","optional":false},{"id":111352432,"package_name":"elasticsearch-rails","ecosystem":"rubygems","requirements":"~\u003e 7.0","direct":true,"kind":"runtime","optional":false},{"id":111352433,"package_name":"elasticsearch-dsl","ecosystem":"rubygems","requirements":"~\u003e 0.1.2","direct":true,"kind":"runtime","optional":false},{"id":111352434,"package_name":"faraday_middleware-aws-sigv4","ecosystem":"rubygems","requirements":"~\u003e 0.3","direct":true,"kind":"runtime","optional":false},{"id":111352435,"package_name":"xml-simple","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352436,"package_name":"compact_index","ecosystem":"rubygems","requirements":"~\u003e 0.14.0","direct":true,"kind":"runtime","optional":false},{"id":111352437,"package_name":"sprockets-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352438,"package_name":"rack-attack","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352439,"package_name":"rqrcode","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352440,"package_name":"rotp","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352441,"package_name":"unpwn","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352442,"package_name":"lograge","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111352443,"package_name":"sassc-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352444,"package_name":"uglifier","ecosystem":"rubygems","requirements":"\u003e= 1.0.3","direct":true,"kind":"development","optional":false},{"id":111352445,"package_name":"autoprefixer-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352446,"package_name":"m","ecosystem":"rubygems","requirements":"~\u003e 1.5","direct":true,"kind":"development","optional":false},{"id":111352447,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352448,"package_name":"toxiproxy","ecosystem":"rubygems","requirements":"~\u003e 2.0.0","direct":true,"kind":"development","optional":false},{"id":111352449,"package_name":"webrick","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352450,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352451,"package_name":"brakeman","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352452,"package_name":"rubocop","ecosystem":"rubygems","requirements":"~\u003e 1.23","direct":true,"kind":"development","optional":false},{"id":111352453,"package_name":"rubocop-rails","ecosystem":"rubygems","requirements":"~\u003e 2.12","direct":true,"kind":"development","optional":false},{"id":111352454,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"~\u003e 1.12","direct":true,"kind":"development","optional":false},{"id":111352455,"package_name":"rubocop-minitest","ecosystem":"rubygems","requirements":"~\u003e 0.16","direct":true,"kind":"development","optional":false},{"id":111352456,"package_name":"rails-erd","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352457,"package_name":"listen","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352458,"package_name":"minitest","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352459,"package_name":"capybara","ecosystem":"rubygems","requirements":"~\u003e 3.35","direct":true,"kind":"development","optional":false},{"id":111352460,"package_name":"launchy","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352461,"package_name":"rack-test","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352462,"package_name":"mocha","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352463,"package_name":"shoulda","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352464,"package_name":"selenium-webdriver","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352465,"package_name":"webdrivers","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111352466,"package_name":"simplecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2022-07-07T14:38:24.519Z","updated_at":"2022-07-07T14:38:24.519Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/Gemfile.lock","dependencies":[{"id":111352469,"package_name":"actioncable","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352470,"package_name":"actionmailbox","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352471,"package_name":"actionmailer","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352472,"package_name":"actionpack","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352473,"package_name":"actiontext","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352474,"package_name":"actionview","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352475,"package_name":"activejob","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352476,"package_name":"activemodel","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352477,"package_name":"activerecord","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352478,"package_name":"activestorage","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352479,"package_name":"activesupport","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352480,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":111352481,"package_name":"argon2","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352482,"package_name":"ast","ecosystem":"rubygems","requirements":"2.4.2","direct":false,"kind":"runtime","optional":false},{"id":111352483,"package_name":"autoprefixer-rails","ecosystem":"rubygems","requirements":"10.4.7.0","direct":false,"kind":"runtime","optional":false},{"id":111352484,"package_name":"aws-eventstream","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352485,"package_name":"aws-partitions","ecosystem":"rubygems","requirements":"1.583.0","direct":false,"kind":"runtime","optional":false},{"id":111352486,"package_name":"aws-sdk-core","ecosystem":"rubygems","requirements":"3.130.2","direct":false,"kind":"runtime","optional":false},{"id":111352487,"package_name":"aws-sdk-kms","ecosystem":"rubygems","requirements":"1.56.0","direct":false,"kind":"runtime","optional":false},{"id":111352488,"package_name":"aws-sdk-s3","ecosystem":"rubygems","requirements":"1.114.0","direct":false,"kind":"runtime","optional":false},{"id":111352489,"package_name":"aws-sdk-sqs","ecosystem":"rubygems","requirements":"1.51.1","direct":false,"kind":"runtime","optional":false},{"id":111352490,"package_name":"aws-sigv4","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":111352491,"package_name":"bcrypt","ecosystem":"rubygems","requirements":"3.1.18","direct":false,"kind":"runtime","optional":false},{"id":111352492,"package_name":"bitarray","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352493,"package_name":"bloomer","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352494,"package_name":"bootsnap","ecosystem":"rubygems","requirements":"1.12.0","direct":false,"kind":"runtime","optional":false},{"id":111352495,"package_name":"brakeman","ecosystem":"rubygems","requirements":"5.2.3","direct":false,"kind":"runtime","optional":false},{"id":111352496,"package_name":"builder","ecosystem":"rubygems","requirements":"3.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352497,"package_name":"byebug","ecosystem":"rubygems","requirements":"11.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352498,"package_name":"capybara","ecosystem":"rubygems","requirements":"3.37.1","direct":false,"kind":"runtime","optional":false},{"id":111352499,"package_name":"childprocess","ecosystem":"rubygems","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352500,"package_name":"choice","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352501,"package_name":"chunky_png","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":111352502,"package_name":"clearance","ecosystem":"rubygems","requirements":"2.6.0","direct":false,"kind":"runtime","optional":false},{"id":111352503,"package_name":"coderay","ecosystem":"rubygems","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":111352504,"package_name":"compact_index","ecosystem":"rubygems","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":111352505,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.1.10","direct":false,"kind":"runtime","optional":false},{"id":111352506,"package_name":"crass","ecosystem":"rubygems","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":111352507,"package_name":"css_parser","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":111352508,"package_name":"dalli","ecosystem":"rubygems","requirements":"3.2.2","direct":false,"kind":"runtime","optional":false},{"id":111352509,"package_name":"delayed_job","ecosystem":"rubygems","requirements":"4.1.10","direct":false,"kind":"runtime","optional":false},{"id":111352510,"package_name":"delayed_job_active_record","ecosystem":"rubygems","requirements":"4.1.7","direct":false,"kind":"runtime","optional":false},{"id":111352511,"package_name":"digest","ecosystem":"rubygems","requirements":"3.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352512,"package_name":"docile","ecosystem":"rubygems","requirements":"1.3.4","direct":false,"kind":"runtime","optional":false},{"id":111352513,"package_name":"domain_name","ecosystem":"rubygems","requirements":"0.5.20190701","direct":false,"kind":"runtime","optional":false},{"id":111352514,"package_name":"elasticsearch","ecosystem":"rubygems","requirements":"7.10.1","direct":false,"kind":"runtime","optional":false},{"id":111352515,"package_name":"elasticsearch-api","ecosystem":"rubygems","requirements":"7.10.1","direct":false,"kind":"runtime","optional":false},{"id":111352516,"package_name":"elasticsearch-dsl","ecosystem":"rubygems","requirements":"0.1.10","direct":false,"kind":"runtime","optional":false},{"id":111352517,"package_name":"elasticsearch-model","ecosystem":"rubygems","requirements":"7.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352518,"package_name":"elasticsearch-rails","ecosystem":"rubygems","requirements":"7.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352519,"package_name":"elasticsearch-transport","ecosystem":"rubygems","requirements":"7.10.1","direct":false,"kind":"runtime","optional":false},{"id":111352520,"package_name":"email_validator","ecosystem":"rubygems","requirements":"2.2.3","direct":false,"kind":"runtime","optional":false},{"id":111352521,"package_name":"erubi","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":111352522,"package_name":"execjs","ecosystem":"rubygems","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":111352523,"package_name":"factory_bot","ecosystem":"rubygems","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352524,"package_name":"factory_bot_rails","ecosystem":"rubygems","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352525,"package_name":"faraday","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":111352526,"package_name":"faraday-em_http","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352527,"package_name":"faraday-em_synchrony","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352528,"package_name":"faraday-excon","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352529,"package_name":"faraday-httpclient","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352530,"package_name":"faraday-multipart","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352531,"package_name":"faraday-net_http","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352532,"package_name":"faraday-net_http_persistent","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352533,"package_name":"faraday-patron","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352534,"package_name":"faraday-rack","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352535,"package_name":"faraday-retry","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352536,"package_name":"faraday_middleware-aws-sigv4","ecosystem":"rubygems","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":111352537,"package_name":"ffi","ecosystem":"rubygems","requirements":"1.15.5","direct":false,"kind":"runtime","optional":false},{"id":111352538,"package_name":"ffi-compiler","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352539,"package_name":"globalid","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352540,"package_name":"gravtastic","ecosystem":"rubygems","requirements":"3.2.6","direct":false,"kind":"runtime","optional":false},{"id":111352541,"package_name":"hashie","ecosystem":"rubygems","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352542,"package_name":"high_voltage","ecosystem":"rubygems","requirements":"3.1.2","direct":false,"kind":"runtime","optional":false},{"id":111352543,"package_name":"honeybadger","ecosystem":"rubygems","requirements":"4.12.1","direct":false,"kind":"runtime","optional":false},{"id":111352544,"package_name":"http-accept","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":111352545,"package_name":"http-cookie","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352546,"package_name":"http_accept_language","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352547,"package_name":"i18n","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":111352548,"package_name":"jmespath","ecosystem":"rubygems","requirements":"1.6.1","direct":false,"kind":"runtime","optional":false},{"id":111352549,"package_name":"jquery-rails","ecosystem":"rubygems","requirements":"4.5.0","direct":false,"kind":"runtime","optional":false},{"id":111352550,"package_name":"kaminari","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":111352551,"package_name":"kaminari-actionview","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":111352552,"package_name":"kaminari-activerecord","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":111352553,"package_name":"kaminari-core","ecosystem":"rubygems","requirements":"1.2.2","direct":false,"kind":"runtime","optional":false},{"id":111352554,"package_name":"kgio","ecosystem":"rubygems","requirements":"2.11.4","direct":false,"kind":"runtime","optional":false},{"id":111352555,"package_name":"launchy","ecosystem":"rubygems","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false},{"id":111352556,"package_name":"listen","ecosystem":"rubygems","requirements":"3.7.1","direct":false,"kind":"runtime","optional":false},{"id":111352557,"package_name":"lograge","ecosystem":"rubygems","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":111352558,"package_name":"loofah","ecosystem":"rubygems","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":111352559,"package_name":"m","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":111352560,"package_name":"mail","ecosystem":"rubygems","requirements":"2.7.1","direct":false,"kind":"runtime","optional":false},{"id":111352561,"package_name":"marcel","ecosystem":"rubygems","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":111352562,"package_name":"matrix","ecosystem":"rubygems","requirements":"0.4.2","direct":false,"kind":"runtime","optional":false},{"id":111352563,"package_name":"method_source","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352564,"package_name":"mime-types","ecosystem":"rubygems","requirements":"3.3.1","direct":false,"kind":"runtime","optional":false},{"id":111352565,"package_name":"mime-types-data","ecosystem":"rubygems","requirements":"3.2019.1009","direct":false,"kind":"runtime","optional":false},{"id":111352566,"package_name":"mini_mime","ecosystem":"rubygems","requirements":"1.1.2","direct":false,"kind":"runtime","optional":false},{"id":111352567,"package_name":"mini_portile2","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":111352568,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.16.2","direct":false,"kind":"runtime","optional":false},{"id":111352569,"package_name":"mocha","ecosystem":"rubygems","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false},{"id":111352570,"package_name":"msgpack","ecosystem":"rubygems","requirements":"1.5.2","direct":false,"kind":"runtime","optional":false},{"id":111352571,"package_name":"multi_json","ecosystem":"rubygems","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":111352572,"package_name":"multipart-post","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352573,"package_name":"net-imap","ecosystem":"rubygems","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":111352574,"package_name":"net-pop","ecosystem":"rubygems","requirements":"0.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352575,"package_name":"net-protocol","ecosystem":"rubygems","requirements":"0.1.3","direct":false,"kind":"runtime","optional":false},{"id":111352576,"package_name":"net-smtp","ecosystem":"rubygems","requirements":"0.3.1","direct":false,"kind":"runtime","optional":false},{"id":111352577,"package_name":"netrc","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":111352578,"package_name":"newrelic_rpm","ecosystem":"rubygems","requirements":"8.8.0","direct":false,"kind":"runtime","optional":false},{"id":111352579,"package_name":"nio4r","ecosystem":"rubygems","requirements":"2.5.8","direct":false,"kind":"runtime","optional":false},{"id":111352580,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.13.6","direct":false,"kind":"runtime","optional":false},{"id":111352581,"package_name":"optimist","ecosystem":"rubygems","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352582,"package_name":"parallel","ecosystem":"rubygems","requirements":"1.22.0","direct":false,"kind":"runtime","optional":false},{"id":111352583,"package_name":"parser","ecosystem":"rubygems","requirements":"3.1.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352584,"package_name":"pg","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":111352585,"package_name":"pry","ecosystem":"rubygems","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":111352586,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"3.9.0","direct":false,"kind":"runtime","optional":false},{"id":111352587,"package_name":"psych","ecosystem":"rubygems","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352588,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.7","direct":false,"kind":"runtime","optional":false},{"id":111352589,"package_name":"pwned","ecosystem":"rubygems","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":111352590,"package_name":"racc","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":111352591,"package_name":"rack","ecosystem":"rubygems","requirements":"2.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352592,"package_name":"rack-attack","ecosystem":"rubygems","requirements":"6.6.1","direct":false,"kind":"runtime","optional":false},{"id":111352593,"package_name":"rack-test","ecosystem":"rubygems","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":111352594,"package_name":"rack-utf8_sanitizer","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":111352595,"package_name":"rails","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352596,"package_name":"rails-dom-testing","ecosystem":"rubygems","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352597,"package_name":"rails-erd","ecosystem":"rubygems","requirements":"1.7.1","direct":false,"kind":"runtime","optional":false},{"id":111352598,"package_name":"rails-html-sanitizer","ecosystem":"rubygems","requirements":"1.4.3","direct":false,"kind":"runtime","optional":false},{"id":111352599,"package_name":"rails-i18n","ecosystem":"rubygems","requirements":"7.0.5","direct":false,"kind":"runtime","optional":false},{"id":111352600,"package_name":"railties","ecosystem":"rubygems","requirements":"7.0.2.4","direct":false,"kind":"runtime","optional":false},{"id":111352601,"package_name":"rainbow","ecosystem":"rubygems","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352602,"package_name":"raindrops","ecosystem":"rubygems","requirements":"0.19.2","direct":false,"kind":"runtime","optional":false},{"id":111352603,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.6","direct":false,"kind":"runtime","optional":false},{"id":111352604,"package_name":"rb-fsevent","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":111352605,"package_name":"rb-inotify","ecosystem":"rubygems","requirements":"0.10.1","direct":false,"kind":"runtime","optional":false},{"id":111352606,"package_name":"rbtrace","ecosystem":"rubygems","requirements":"0.4.14","direct":false,"kind":"runtime","optional":false},{"id":111352607,"package_name":"rdoc","ecosystem":"rubygems","requirements":"6.4.0","direct":false,"kind":"runtime","optional":false},{"id":111352608,"package_name":"regexp_parser","ecosystem":"rubygems","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":111352609,"package_name":"request_store","ecosystem":"rubygems","requirements":"1.5.1","direct":false,"kind":"runtime","optional":false},{"id":111352610,"package_name":"rest-client","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352611,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":111352612,"package_name":"roadie","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352613,"package_name":"roadie-rails","ecosystem":"rubygems","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352614,"package_name":"rotp","ecosystem":"rubygems","requirements":"6.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352615,"package_name":"rqrcode","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":111352616,"package_name":"rqrcode_core","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352617,"package_name":"rubocop","ecosystem":"rubygems","requirements":"1.26.1","direct":false,"kind":"runtime","optional":false},{"id":111352618,"package_name":"rubocop-ast","ecosystem":"rubygems","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":111352619,"package_name":"rubocop-minitest","ecosystem":"rubygems","requirements":"0.18.0","direct":false,"kind":"runtime","optional":false},{"id":111352620,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"1.13.3","direct":false,"kind":"runtime","optional":false},{"id":111352621,"package_name":"rubocop-rails","ecosystem":"rubygems","requirements":"2.14.2","direct":false,"kind":"runtime","optional":false},{"id":111352622,"package_name":"ruby-graphviz","ecosystem":"rubygems","requirements":"1.2.5","direct":false,"kind":"runtime","optional":false},{"id":111352623,"package_name":"ruby-progressbar","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":111352624,"package_name":"ruby2_keywords","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":111352625,"package_name":"rubyzip","ecosystem":"rubygems","requirements":"2.3.2","direct":false,"kind":"runtime","optional":false},{"id":111352626,"package_name":"sassc","ecosystem":"rubygems","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":111352627,"package_name":"sassc-rails","ecosystem":"rubygems","requirements":"2.1.2","direct":false,"kind":"runtime","optional":false},{"id":111352628,"package_name":"selenium-webdriver","ecosystem":"rubygems","requirements":"4.3.0","direct":false,"kind":"runtime","optional":false},{"id":111352629,"package_name":"shoryuken","ecosystem":"rubygems","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352630,"package_name":"shoulda","ecosystem":"rubygems","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352631,"package_name":"shoulda-context","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352632,"package_name":"shoulda-matchers","ecosystem":"rubygems","requirements":"4.4.1","direct":false,"kind":"runtime","optional":false},{"id":111352633,"package_name":"simplecov","ecosystem":"rubygems","requirements":"0.21.2","direct":false,"kind":"runtime","optional":false},{"id":111352634,"package_name":"simplecov-html","ecosystem":"rubygems","requirements":"0.12.3","direct":false,"kind":"runtime","optional":false},{"id":111352635,"package_name":"simplecov_json_formatter","ecosystem":"rubygems","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":111352636,"package_name":"sprockets","ecosystem":"rubygems","requirements":"4.0.2","direct":false,"kind":"runtime","optional":false},{"id":111352637,"package_name":"sprockets-rails","ecosystem":"rubygems","requirements":"3.4.2","direct":false,"kind":"runtime","optional":false},{"id":111352638,"package_name":"statsd-instrument","ecosystem":"rubygems","requirements":"2.3.5","direct":false,"kind":"runtime","optional":false},{"id":111352639,"package_name":"stringio","ecosystem":"rubygems","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352640,"package_name":"strscan","ecosystem":"rubygems","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":111352641,"package_name":"thor","ecosystem":"rubygems","requirements":"1.2.1","direct":false,"kind":"runtime","optional":false},{"id":111352642,"package_name":"tilt","ecosystem":"rubygems","requirements":"2.0.10","direct":false,"kind":"runtime","optional":false},{"id":111352643,"package_name":"timeout","ecosystem":"rubygems","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":111352644,"package_name":"toxiproxy","ecosystem":"rubygems","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":111352645,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"2.0.4","direct":false,"kind":"runtime","optional":false},{"id":111352646,"package_name":"uglifier","ecosystem":"rubygems","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352647,"package_name":"unf","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":111352648,"package_name":"unf_ext","ecosystem":"rubygems","requirements":"0.0.7.6","direct":false,"kind":"runtime","optional":false},{"id":111352649,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":111352650,"package_name":"unicorn","ecosystem":"rubygems","requirements":"5.8.0","direct":false,"kind":"runtime","optional":false},{"id":111352651,"package_name":"unpwn","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352652,"package_name":"validates_formatting_of","ecosystem":"rubygems","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":111352653,"package_name":"webdrivers","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":111352654,"package_name":"webrick","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":111352655,"package_name":"websocket","ecosystem":"rubygems","requirements":"1.2.9","direct":false,"kind":"runtime","optional":false},{"id":111352656,"package_name":"websocket-driver","ecosystem":"rubygems","requirements":"0.7.5","direct":false,"kind":"runtime","optional":false},{"id":111352657,"package_name":"websocket-extensions","ecosystem":"rubygems","requirements":"0.1.5","direct":false,"kind":"runtime","optional":false},{"id":111352658,"package_name":"xml-simple","ecosystem":"rubygems","requirements":"1.1.9","direct":false,"kind":"runtime","optional":false},{"id":111352659,"package_name":"xpath","ecosystem":"rubygems","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":111352660,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"2.6.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/actions/setup-rubygems.org/action.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.428Z","updated_at":"2026-08-19T11:21:30.428Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/actions/setup-rubygems.org/action.yml","dependencies":[{"id":26210794284,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"95ef2b042f9d7a56d8268cba8559e2842e2ad01b","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.732Z","updated_at":"2026-08-19T11:21:30.732Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/lint.yml","dependencies":[{"id":26210794324,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794325,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"95ef2b042f9d7a56d8268cba8559e2842e2ad01b","direct":true,"kind":"composite","optional":false},{"id":26210794326,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"820762786026740c76f36085b0efc47a31fe5020","direct":true,"kind":"composite","optional":false},{"id":26210794327,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","direct":true,"kind":"composite","optional":false},{"id":26210794328,"package_name":"docker://ghcr.io/yannh/kubeconform@sha256","ecosystem":"actions","requirements":"03f6b236ef64f20b4bc950209d6254b109e23b4b05e7811649f59eae5659fa58","direct":true,"kind":"composite","optional":false},{"id":26210794329,"package_name":"stacklok/frizbee-action","ecosystem":"actions","requirements":"7fb0f7cb0d136c932680249f65eb347c489d3106","direct":true,"kind":"composite","optional":false},{"id":26210794331,"package_name":"zizmorcore/zizmor-action","ecosystem":"actions","requirements":"3dc1ecc9bcb9e94e9b2c709687979e1298497054","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/copilot-setup-steps.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.584Z","updated_at":"2026-08-19T11:21:30.584Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/copilot-setup-steps.yml","dependencies":[{"id":26210794301,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794302,"package_name":"./.github/actions/setup-rubygems.org","ecosystem":"actions","requirements":"*","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docker.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.660Z","updated_at":"2026-08-19T11:21:30.660Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/docker.yml","dependencies":[{"id":26210794308,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794309,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"bb05f3f5519dd87d3ba754cc423b652a5edd6d2c","direct":true,"kind":"composite","optional":false},{"id":26210794310,"package_name":"actions/cache","ecosystem":"actions","requirements":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","direct":true,"kind":"composite","optional":false},{"id":26210794311,"package_name":"aws-actions/configure-aws-credentials","ecosystem":"actions","requirements":"e6de054238d6b7531b4efff3b6587d9aade6a06c","direct":true,"kind":"composite","optional":false},{"id":26210794312,"package_name":"aws-actions/amazon-ecr-login","ecosystem":"actions","requirements":"d539f0932e70871a027e9d5a9d8fc38589180a64","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.947Z","updated_at":"2026-08-19T11:21:30.947Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/test.yml","dependencies":[{"id":26210794338,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794339,"package_name":"./.github/actions/setup-rubygems.org","ecosystem":"actions","requirements":"*","direct":true,"kind":"composite","optional":false},{"id":26210794340,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","direct":true,"kind":"composite","optional":false},{"id":26210794341,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"fb8b3582c8e4def4969c97caa2f19720cb33a72f","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:31.223Z","updated_at":"2026-08-19T11:21:31.223Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/docker-compose.yml","dependencies":[{"id":26210794377,"package_name":"index.docker.io/library/postgres@sha256","ecosystem":"docker","requirements":"f104f501cd403abdc56cd17fab81fad0b15754e8dce818e20300a17a3628700f","direct":true,"kind":"runtime","optional":false},{"id":26210794378,"package_name":"index.docker.io/library/memcached@sha256","ecosystem":"docker","requirements":"f4504742a8fb03c3ac0cd172e1c1d2277117629f8d21d52f78307121ddc3de5f","direct":true,"kind":"runtime","optional":false},{"id":26210794379,"package_name":"index.docker.io/opensearchproject/opensearch@sha256","ecosystem":"docker","requirements":"2e954ff0e8c9d0f4868b4818150b3aecc92fbb0cc4a24d00dace38ada227291d","direct":true,"kind":"runtime","optional":false},{"id":26210794390,"package_name":"index.docker.io/opensearchproject/opensearch-dashboards@sha256","ecosystem":"docker","requirements":"d8f4442da4d0cb44865a5eab01c9eb9f00769e2d5f053d21e3ff3c64a50fc6ec","direct":true,"kind":"runtime","optional":false},{"id":26210794391,"package_name":"ghcr.io/shopify/toxiproxy@sha256","ecosystem":"docker","requirements":"927c797a2115a193ae3a527e5a36782b938419904ac6706ca0efa029ebea58cb","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.498Z","updated_at":"2026-08-19T11:21:30.498Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/codeql.yml","dependencies":[{"id":26210794291,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794292,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"5595ccaf912efad79be6eef63a5619ff05969be3","direct":true,"kind":"composite","optional":false},{"id":26210794293,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"5595ccaf912efad79be6eef63a5619ff05969be3","direct":true,"kind":"composite","optional":false},{"id":26210794294,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"5595ccaf912efad79be6eef63a5619ff05969be3","direct":true,"kind":"composite","optional":false},{"id":26210794295,"package_name":"advanced-security/filter-sarif","ecosystem":"actions","requirements":"2da736ff05ef065cb2894ac6892e47b5eac2c3c0","direct":true,"kind":"composite","optional":false},{"id":26210794296,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"5595ccaf912efad79be6eef63a5619ff05969be3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/scorecard.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:30.869Z","updated_at":"2026-08-19T11:21:30.869Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.github/workflows/scorecard.yml","dependencies":[{"id":26210794333,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3d3c42e5aac5ba805825da76410c181273ba90b1","direct":true,"kind":"composite","optional":false},{"id":26210794334,"package_name":"ossf/scorecard-action","ecosystem":"actions","requirements":"2d1146689b8cda280b9bc96326124645441f03bc","direct":true,"kind":"composite","optional":false},{"id":26210794335,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","direct":true,"kind":"composite","optional":false},{"id":26210794336,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"5595ccaf912efad79be6eef63a5619ff05969be3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":".devcontainer/Dockerfile","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:31.015Z","updated_at":"2026-08-19T11:21:31.015Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.devcontainer/Dockerfile","dependencies":[{"id":26210794363,"package_name":"ghcr.io/rails/devcontainer/images/ruby","ecosystem":"docker","requirements":"$RUBY_VERSION","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":".devcontainer/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:31.100Z","updated_at":"2026-08-19T11:21:31.100Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/.devcontainer/docker-compose.yml","dependencies":[]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2026-08-19T11:21:31.154Z","updated_at":"2026-08-19T11:21:31.154Z","repository_link":"https://github.com/rubygems/rubygems.org/blob/master/Dockerfile","dependencies":[{"id":26210794372,"package_name":"ruby","ecosystem":"docker","requirements":"$RUBY_VERSION-alpine${ALPINE_VERSION}","direct":true,"kind":"build","optional":false},{"id":26210794373,"package_name":"base","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]}],"score":26.842025258400703,"created_at":"2025-12-10T07:37:45.549Z","updated_at":"2026-08-24T13:35:19.144Z","avatar_url":"https://github.com/rubygems.png","language":"Ruby","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/369741","html_url":"https://summary.ecosyste.ms/projects/369741"}