{"id":369741,"url":"https://github.com/rubygems/rubygems.org","last_synced_at":"2026-05-31T19:30:40.009Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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":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-04-28T15:34:47.208Z","created_at":"2022-04-05T19:37:58.619Z","updated_at":"2026-04-28T15:37:34.569Z","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-02-20T21:12:13.000Z","size":26947,"stargazers_count":2422,"open_issues_count":117,"forks_count":982,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-02-21T02:37:14.194Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-20T21:12:18.000Z","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":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":29692006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-28T15:37:34.548Z","dependent_packages_count":0,"downloads":3121,"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-01-05T04:00:51.797Z","issues_count":171,"pull_requests_count":3200,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687587.848910752,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.93875,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":37,"past_year_pull_requests_count":892,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":270745.2082191781,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":730,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":0.8648648648648649,"past_year_avg_comments_per_pull_request":0.6121076233183856,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":674,"past_year_merged_pull_requests_count":664,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-07T16:18:35.025Z","created_at":"2022-04-06T09:42:39.831Z","updated_at":"2026-05-07T16:22:19.465Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-07T16:22:19.465Z","dependent_packages_count":0,"downloads":2425,"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-05-07T03:04:26.825Z","issues_count":179,"pull_requests_count":3248,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":693692.8171667829,"issues_closed_count":97,"pull_requests_closed_count":2866,"pull_request_authors_count":110,"issue_authors_count":104,"avg_comments_per_issue":2.670391061452514,"avg_comments_per_pull_request":0.9375,"merged_pull_requests_count":2649,"bot_issues_count":10,"bot_pull_requests_count":2042,"past_year_issues_count":25,"past_year_pull_requests_count":451,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":200630.2101910828,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":314,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.6407982261640798,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":296,"past_year_merged_pull_requests_count":293,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-21T13:46:42.349Z","created_at":"2025-10-07T02:09:12.600Z","updated_at":"2026-05-21T13:46:59.558Z","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-02-20T21:12:13.000Z","size":26947,"stargazers_count":2422,"open_issues_count":117,"forks_count":982,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-02-21T02:37:14.194Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-20T21:12:18.000Z","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":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":29829408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T15:41:19.027Z","status":"ssl_error","status_checked_at":"2026-02-25T15:40:47.150Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-21T13:46:59.538Z","dependent_packages_count":0,"downloads":2614,"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-02-24T04:01:07.809Z","issues_count":171,"pull_requests_count":3208,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687584.361208714,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939214463840399,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":32,"past_year_pull_requests_count":718,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":283493.6241134752,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":564,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":19,"past_year_avg_comments_per_issue":0.875,"past_year_avg_comments_per_pull_request":0.6030640668523677,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":535,"past_year_merged_pull_requests_count":507,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-11T01:20:02.872Z","created_at":"2022-04-06T11:15:26.328Z","updated_at":"2026-05-11T01:21:39.765Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-05-11T01:21:39.731Z","dependent_packages_count":0,"downloads":2428,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-04T13:06:00.936Z","created_at":"2025-10-07T04:34:16.944Z","updated_at":"2026-05-04T13:22:39.832Z","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-02-20T21:12:13.000Z","size":26947,"stargazers_count":2422,"open_issues_count":117,"forks_count":982,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-02-21T02:37:14.194Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-20T21:12:18.000Z","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":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":29954632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-04T13:22:39.812Z","dependent_packages_count":0,"downloads":2525,"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-02-26T23:01:46.665Z","issues_count":171,"pull_requests_count":3209,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687584.361208714,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398566531629792,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":32,"past_year_pull_requests_count":700,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":288815.5974499089,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":549,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":19,"past_year_avg_comments_per_issue":0.875,"past_year_avg_comments_per_pull_request":0.6185714285714285,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":516,"past_year_merged_pull_requests_count":494,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-04-22T18:17:23.318Z","created_at":"2025-10-07T06:29:42.485Z","updated_at":"2026-04-22T18:17:49.555Z","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":"2025-12-03T17:18:50.000Z","size":26541,"stargazers_count":2405,"open_issues_count":117,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-04T01:54:18.405Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-04T00:06:31.000Z","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":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":27620726,"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","status":"online","status_checked_at":"2025-12-09T02:00:09.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-04-22T18:17:49.527Z","dependent_packages_count":0,"downloads":2514,"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":"2025-12-09T03:02:13.830Z","issues_count":171,"pull_requests_count":3199,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687815.7764499121,"issues_closed_count":92,"pull_requests_closed_count":2845,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939043451078462,"merged_pull_requests_count":2629,"bot_issues_count":10,"bot_pull_requests_count":2020,"past_year_issues_count":41,"past_year_pull_requests_count":987,"past_year_avg_time_to_close_issue":731360.0714285715,"past_year_avg_time_to_close_pull_request":274560.8170580964,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":809,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":23,"past_year_avg_comments_per_issue":0.8292682926829268,"past_year_avg_comments_per_pull_request":0.630192502532928,"past_year_bot_issues_count":5,"past_year_bot_pull_requests_count":742,"past_year_merged_pull_requests_count":729,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-11T03:05:22.674Z","created_at":"2025-10-07T05:38:44.471Z","updated_at":"2026-05-11T03:12:43.002Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32879574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"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-05-11T03:12:43.002Z","dependent_packages_count":0,"downloads":2436,"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":"2025-11-26T09:28:56.281Z","issues_count":171,"pull_requests_count":3191,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637522.2481520592,"issues_closed_count":92,"pull_requests_closed_count":2841,"pull_request_authors_count":101,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398307740520213,"merged_pull_requests_count":2626,"bot_issues_count":10,"bot_pull_requests_count":2016,"past_year_issues_count":44,"past_year_pull_requests_count":1052,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":280833.7361751152,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":868,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6673003802281369,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":781,"past_year_merged_pull_requests_count":781,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-04-28T19:04:35.050Z","created_at":"2025-10-07T05:46:04.533Z","updated_at":"2026-04-28T19:10:54.507Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32207221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T01:12:49.758Z","status":"online","status_checked_at":"2026-04-24T02:00:07.115Z","response_time":64,"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-04-28T19:10:54.506Z","dependent_packages_count":0,"downloads":2435,"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-04-27T21:00:39.043Z","issues_count":176,"pull_requests_count":3235,"avg_time_to_close_issue":27485536.0,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":95,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9369397217928903,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2035,"past_year_issues_count":24,"past_year_pull_requests_count":476,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":224739.91304347827,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":345,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6407563025210085,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":323,"past_year_merged_pull_requests_count":320,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":43,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-21T18:19:02.198Z","created_at":"2025-10-07T01:34:59.833Z","updated_at":"2026-05-21T18:22:00.773Z","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-03-16T05:30:49.000Z","size":27569,"stargazers_count":2422,"open_issues_count":104,"forks_count":986,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-16T13:07:59.206Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-16T05:30:51.000Z","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":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":30630937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-21T18:22:00.739Z","dependent_packages_count":0,"downloads":4337,"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-03-17T08:24:00.988Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":28,"past_year_pull_requests_count":617,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":316128.01684210525,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":475,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.8928571428571429,"past_year_avg_comments_per_pull_request":0.6142625607779578,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":446,"past_year_merged_pull_requests_count":443,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-21T19:01:45.850Z","created_at":"2022-04-06T08:18:00.548Z","updated_at":"2026-05-21T19:06:30.946Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-21T19:06:30.946Z","dependent_packages_count":0,"downloads":2443,"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-05-21T03:02:29.955Z","issues_count":184,"pull_requests_count":3266,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9387630128597673,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":419,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":243582.13214285715,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":280,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6825775656324582,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":257,"past_year_merged_pull_requests_count":261,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-25T10:16:48.099Z","created_at":"2025-10-07T02:31:15.766Z","updated_at":"2026-05-25T10:18:56.708Z","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":"2025-10-24T20:16:56.000Z","size":26456,"stargazers_count":2404,"open_issues_count":126,"forks_count":967,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-10-24T22:08:42.558Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-24T20:15:33.000Z","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":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":281260081,"owners_count":26470728,"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","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"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-05-25T10:18:56.673Z","dependent_packages_count":0,"downloads":2574,"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":"2025-10-27T04:01:56.543Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":52,"past_year_pull_requests_count":1194,"past_year_avg_time_to_close_issue":546374.2222222222,"past_year_avg_time_to_close_pull_request":284708.77689243027,"past_year_issues_closed_count":18,"past_year_pull_requests_closed_count":1004,"past_year_pull_request_authors_count":43,"past_year_issue_authors_count":30,"past_year_avg_comments_per_issue":0.6346153846153846,"past_year_avg_comments_per_pull_request":0.7026800670016751,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":868,"past_year_merged_pull_requests_count":906,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":62,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-25T21:02:16.588Z","created_at":"2022-04-06T04:28:15.703Z","updated_at":"2026-04-25T21:06:46.588Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32207221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T01:12:49.758Z","status":"online","status_checked_at":"2026-04-24T02:00:07.115Z","response_time":64,"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-04-25T21:06:46.588Z","dependent_packages_count":0,"downloads":2459,"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-04-23T07:05:33.375Z","issues_count":176,"pull_requests_count":3234,"avg_time_to_close_issue":27294169.24468085,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":94,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9372294372294372,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2034,"past_year_issues_count":24,"past_year_pull_requests_count":494,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":225827.05540166204,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":361,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6558704453441295,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":339,"past_year_merged_pull_requests_count":336,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-07T22:03:23.216Z","created_at":"2025-10-07T05:34:08.152Z","updated_at":"2026-05-07T22:09:08.378Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-07T22:09:08.378Z","dependent_packages_count":0,"downloads":2411,"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-05-07T03:04:26.825Z","issues_count":179,"pull_requests_count":3248,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":693692.8171667829,"issues_closed_count":97,"pull_requests_closed_count":2866,"pull_request_authors_count":110,"issue_authors_count":104,"avg_comments_per_issue":2.670391061452514,"avg_comments_per_pull_request":0.9375,"merged_pull_requests_count":2649,"bot_issues_count":10,"bot_pull_requests_count":2042,"past_year_issues_count":25,"past_year_pull_requests_count":451,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":200630.2101910828,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":314,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.6407982261640798,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":296,"past_year_merged_pull_requests_count":293,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-18T05:04:09.721Z","created_at":"2022-04-06T05:04:23.481Z","updated_at":"2026-05-18T05:06:07.577Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-18T05:06:07.577Z","dependent_packages_count":0,"downloads":2451,"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-05-16T07:00:44.652Z","issues_count":184,"pull_requests_count":3262,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9393010423053342,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":437,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232285.2880794702,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":302,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6796338672768879,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":277,"past_year_merged_pull_requests_count":282,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-29T00:46:21.101Z","created_at":"2022-04-06T08:08:50.423Z","updated_at":"2026-05-29T00:46:21.571Z","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-03-06T02:14:12.000Z","size":27657,"stargazers_count":2422,"open_issues_count":107,"forks_count":985,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-08T00:46:02.921Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-06T01:03:06.000Z","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":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":30360631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-29T00:46:21.545Z","dependent_packages_count":0,"downloads":2587,"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-03-12T11:08:16.060Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":29,"past_year_pull_requests_count":642,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":337755.17835671344,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":499,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":19,"past_year_avg_comments_per_issue":0.9655172413793104,"past_year_avg_comments_per_pull_request":0.6386292834890965,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":465,"past_year_merged_pull_requests_count":460,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":49,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-18T06:46:46.143Z","created_at":"2022-04-06T02:12:25.167Z","updated_at":"2026-05-18T06:47:37.609Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-18T06:47:37.608Z","dependent_packages_count":0,"downloads":2537,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-14T21:02:28.688Z","created_at":"2022-04-06T08:19:40.708Z","updated_at":"2026-05-14T21:02:41.671Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32825626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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-05-14T21:02:41.671Z","dependent_packages_count":0,"downloads":2394,"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-05-13T20:00:55.461Z","issues_count":184,"pull_requests_count":3255,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694809.3906086957,"issues_closed_count":97,"pull_requests_closed_count":2875,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9385560675883257,"merged_pull_requests_count":2658,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":439,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232428.7091503268,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":306,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6583143507972665,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":286,"past_year_merged_pull_requests_count":285,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":36,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-22T03:31:33.325Z","created_at":"2025-10-07T05:33:51.220Z","updated_at":"2026-05-22T03:33:37.270Z","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-04-14T03:50:12.000Z","size":27845,"stargazers_count":2425,"open_issues_count":109,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-16T04:10:56.752Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-14T03:50:14.000Z","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":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":32032306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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-05-22T03:33:37.245Z","dependent_packages_count":0,"downloads":2434,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-08T04:32:09.763Z","created_at":"2025-10-07T05:19:40.062Z","updated_at":"2026-05-08T04:33:26.226Z","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":"2025-12-29T22:42:37.000Z","size":26598,"stargazers_count":2408,"open_issues_count":131,"forks_count":977,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-30T01:38:31.376Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-29T22:42:41.000Z","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":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":28128155,"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","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"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-05-08T04:33:26.198Z","dependent_packages_count":0,"downloads":2361,"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-01-01T01:17:33.763Z","issues_count":171,"pull_requests_count":3200,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687587.848910752,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.93875,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":37,"past_year_pull_requests_count":896,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":269914.2152588556,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":734,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":0.8648648648648649,"past_year_avg_comments_per_pull_request":0.6116071428571429,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":678,"past_year_merged_pull_requests_count":668,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-22T04:34:46.354Z","created_at":"2022-04-05T17:33:45.676Z","updated_at":"2026-05-22T04:35:25.851Z","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":"2025-10-24T20:16:56.000Z","size":26456,"stargazers_count":2404,"open_issues_count":126,"forks_count":967,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-10-24T22:08:42.558Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-24T20:15:33.000Z","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":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":281260086,"owners_count":26470729,"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","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"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-05-22T04:35:25.822Z","dependent_packages_count":0,"downloads":2957,"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":"2025-10-27T04:01:56.543Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":52,"past_year_pull_requests_count":1194,"past_year_avg_time_to_close_issue":546374.2222222222,"past_year_avg_time_to_close_pull_request":284708.77689243027,"past_year_issues_closed_count":18,"past_year_pull_requests_closed_count":1004,"past_year_pull_request_authors_count":43,"past_year_issue_authors_count":30,"past_year_avg_comments_per_issue":0.6346153846153846,"past_year_avg_comments_per_pull_request":0.7026800670016751,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":868,"past_year_merged_pull_requests_count":906,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":62,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-04-23T07:04:06.451Z","created_at":"2022-04-06T12:03:32.762Z","updated_at":"2026-04-23T07:05:33.025Z","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-04-14T03:50:12.000Z","size":27845,"stargazers_count":2425,"open_issues_count":109,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-16T04:10:56.752Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-14T03:50:14.000Z","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":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":32032306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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-04-23T07:05:33.025Z","dependent_packages_count":0,"downloads":2405,"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-04-20T20:00:33.041Z","issues_count":175,"pull_requests_count":3224,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697026.3539109085,"issues_closed_count":93,"pull_requests_closed_count":2851,"pull_request_authors_count":109,"issue_authors_count":103,"avg_comments_per_issue":2.657142857142857,"avg_comments_per_pull_request":0.9395161290322581,"merged_pull_requests_count":2635,"bot_issues_count":10,"bot_pull_requests_count":2025,"past_year_issues_count":24,"past_year_pull_requests_count":492,"past_year_avg_time_to_close_issue":646637.0,"past_year_avg_time_to_close_pull_request":226099.55153203342,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":359,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":0.9166666666666666,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":338,"past_year_merged_pull_requests_count":335,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-22T08:46:10.414Z","created_at":"2025-10-07T04:15:53.539Z","updated_at":"2026-05-22T08:50:11.760Z","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":"2025-12-11T23:15:54.000Z","size":26550,"stargazers_count":2407,"open_issues_count":124,"forks_count":976,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-12T01:29:31.140Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-11T23:14:53.000Z","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":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":28060170,"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","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"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-05-22T08:50:11.739Z","dependent_packages_count":0,"downloads":2465,"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":"2025-12-22T17:00:59.651Z","issues_count":171,"pull_requests_count":3199,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687815.7764499121,"issues_closed_count":92,"pull_requests_closed_count":2845,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939043451078462,"merged_pull_requests_count":2629,"bot_issues_count":10,"bot_pull_requests_count":2020,"past_year_issues_count":38,"past_year_pull_requests_count":919,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":273976.70627503336,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":749,"past_year_pull_request_authors_count":40,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":0.8421052631578947,"past_year_avg_comments_per_pull_request":0.6191512513601741,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":692,"past_year_merged_pull_requests_count":679,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-11T21:01:48.922Z","created_at":"2022-04-06T08:17:42.886Z","updated_at":"2026-05-11T21:07:35.921Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32825626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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-05-11T21:07:35.921Z","dependent_packages_count":0,"downloads":2396,"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-05-09T16:06:55.042Z","issues_count":183,"pull_requests_count":3253,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":695386.2966573816,"issues_closed_count":97,"pull_requests_closed_count":2872,"pull_request_authors_count":111,"issue_authors_count":104,"avg_comments_per_issue":2.622950819672131,"avg_comments_per_pull_request":0.9379034737165693,"merged_pull_requests_count":2655,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":439,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232111.7573770492,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":305,"past_year_pull_request_authors_count":35,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.103448275862069,"past_year_avg_comments_per_pull_request":0.6537585421412301,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":288,"past_year_merged_pull_requests_count":284,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":36,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-04-26T11:19:38.322Z","created_at":"2025-10-07T04:34:19.458Z","updated_at":"2026-04-26T11:53:51.641Z","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":"2025-12-29T22:42:37.000Z","size":26598,"stargazers_count":2408,"open_issues_count":131,"forks_count":977,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-30T01:38:31.376Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-29T22:42:41.000Z","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":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":28128155,"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","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"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-04-26T11:53:51.621Z","dependent_packages_count":0,"downloads":3147,"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-01-02T19:02:17.865Z","issues_count":171,"pull_requests_count":3200,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687587.848910752,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.93875,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":37,"past_year_pull_requests_count":894,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":270612.5983606557,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":732,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":0.8648648648648649,"past_year_avg_comments_per_pull_request":0.6129753914988815,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":676,"past_year_merged_pull_requests_count":666,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-04-26T06:09:21.766Z","created_at":"2022-04-05T19:38:00.817Z","updated_at":"2026-04-26T11:43:35.231Z","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-03-16T05:30:49.000Z","size":27569,"stargazers_count":2422,"open_issues_count":104,"forks_count":986,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-16T13:07:59.206Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-16T05:30:51.000Z","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":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":30850194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-23T01:54:41.487Z","status":"online","status_checked_at":"2026-03-23T02:00:09.028Z","response_time":59,"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-04-26T11:43:35.205Z","dependent_packages_count":0,"downloads":2598,"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-03-23T06:00:46.291Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":23,"past_year_pull_requests_count":596,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":314738.70175438595,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":456,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6291946308724832,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":425,"past_year_merged_pull_requests_count":428,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-08T11:32:16.233Z","created_at":"2025-10-07T01:37:25.797Z","updated_at":"2026-05-08T12:44:50.751Z","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":"2025-11-24T01:59:10.000Z","size":26721,"stargazers_count":2407,"open_issues_count":114,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-11-24T06:47:15.156Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-11-24T01:57:54.000Z","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":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":286079811,"owners_count":27282121,"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","status":"online","status_checked_at":"2025-11-24T02:00:07.096Z","response_time":68,"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-05-08T12:44:50.723Z","dependent_packages_count":0,"downloads":2825,"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":"2025-11-24T17:00:47.581Z","issues_count":171,"pull_requests_count":3180,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637291.051200565,"issues_closed_count":92,"pull_requests_closed_count":2832,"pull_request_authors_count":100,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9427672955974843,"merged_pull_requests_count":2617,"bot_issues_count":10,"bot_pull_requests_count":2006,"past_year_issues_count":44,"past_year_pull_requests_count":1049,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":273899.62283737026,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":867,"past_year_pull_request_authors_count":40,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6682554814108675,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":779,"past_year_merged_pull_requests_count":780,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-08T11:54:11.172Z","created_at":"2022-04-06T08:36:11.831Z","updated_at":"2026-05-08T12:46:22.204Z","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-02-20T21:12:13.000Z","size":26947,"stargazers_count":2422,"open_issues_count":117,"forks_count":982,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-02-21T02:37:14.194Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-20T21:12:18.000Z","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":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":29692006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-08T12:46:22.182Z","dependent_packages_count":0,"downloads":2418,"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":"2025-11-26T09:28:56.281Z","issues_count":171,"pull_requests_count":3191,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637522.2481520592,"issues_closed_count":92,"pull_requests_closed_count":2841,"pull_request_authors_count":101,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398307740520213,"merged_pull_requests_count":2626,"bot_issues_count":10,"bot_pull_requests_count":2016,"past_year_issues_count":44,"past_year_pull_requests_count":1052,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":280833.7361751152,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":868,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6673003802281369,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":781,"past_year_merged_pull_requests_count":781,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-29T12:46:01.356Z","created_at":"2022-04-06T10:33:00.542Z","updated_at":"2026-05-29T12:46:01.655Z","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":"2025-10-24T20:16:56.000Z","size":26456,"stargazers_count":2404,"open_issues_count":126,"forks_count":967,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-10-24T22:08:42.558Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-24T20:15:33.000Z","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":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":281260083,"owners_count":26470728,"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","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"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-05-29T12:46:01.634Z","dependent_packages_count":0,"downloads":2455,"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":"2025-10-27T04:01:56.543Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":52,"past_year_pull_requests_count":1194,"past_year_avg_time_to_close_issue":546374.2222222222,"past_year_avg_time_to_close_pull_request":284708.77689243027,"past_year_issues_closed_count":18,"past_year_pull_requests_closed_count":1004,"past_year_pull_request_authors_count":43,"past_year_issue_authors_count":30,"past_year_avg_comments_per_issue":0.6346153846153846,"past_year_avg_comments_per_pull_request":0.7026800670016751,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":868,"past_year_merged_pull_requests_count":906,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":62,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-29T16:15:19.143Z","created_at":"2022-04-06T09:43:24.717Z","updated_at":"2026-05-29T16:15:19.628Z","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-04-14T03:50:12.000Z","size":27845,"stargazers_count":2425,"open_issues_count":109,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-16T04:10:56.752Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-14T03:50:14.000Z","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":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":32032306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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-05-29T16:15:19.594Z","dependent_packages_count":0,"downloads":2426,"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-04-16T04:05:03.301Z","issues_count":173,"pull_requests_count":3221,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697026.3539109085,"issues_closed_count":93,"pull_requests_closed_count":2851,"pull_request_authors_count":108,"issue_authors_count":102,"avg_comments_per_issue":2.6763005780346822,"avg_comments_per_pull_request":0.9400807202732071,"merged_pull_requests_count":2635,"bot_issues_count":10,"bot_pull_requests_count":2024,"past_year_issues_count":23,"past_year_pull_requests_count":503,"past_year_avg_time_to_close_issue":646637.0,"past_year_avg_time_to_close_pull_request":222971.86863270777,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":373,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":0.8695652173913043,"past_year_avg_comments_per_pull_request":0.6620278330019881,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":348,"past_year_merged_pull_requests_count":349,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":29,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-04-20T14:31:45.024Z","created_at":"2025-10-07T01:36:24.124Z","updated_at":"2026-04-20T14:33:17.200Z","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-03-16T05:30:49.000Z","size":27569,"stargazers_count":2422,"open_issues_count":104,"forks_count":986,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-16T13:07:59.206Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-16T05:30:51.000Z","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":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":30630937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-20T14:33:17.175Z","dependent_packages_count":0,"downloads":2765,"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-03-17T08:24:00.988Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":28,"past_year_pull_requests_count":617,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":316128.01684210525,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":475,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.8928571428571429,"past_year_avg_comments_per_pull_request":0.6142625607779578,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":446,"past_year_merged_pull_requests_count":443,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-12T05:46:28.805Z","created_at":"2025-10-07T05:38:48.086Z","updated_at":"2026-05-12T05:46:42.037Z","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-03-24T00:42:04.000Z","size":27580,"stargazers_count":2422,"open_issues_count":113,"forks_count":987,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-24T00:45:16.414Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-23T22:36:33.000Z","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":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":31123674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T20:32:38.821Z","status":"ssl_error","status_checked_at":"2026-03-28T20:24:19.814Z","response_time":79,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-12T05:46:42.010Z","dependent_packages_count":0,"downloads":2507,"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-03-27T03:01:06.031Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":23,"past_year_pull_requests_count":576,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":250258.7006802721,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":441,"past_year_pull_request_authors_count":32,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6302083333333334,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":409,"past_year_merged_pull_requests_count":413,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-02T15:03:40.412Z","created_at":"2022-04-06T05:05:21.160Z","updated_at":"2026-05-02T15:06:45.950Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-02T15:06:45.950Z","dependent_packages_count":0,"downloads":2486,"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-05-01T06:00:18.012Z","issues_count":176,"pull_requests_count":3238,"avg_time_to_close_issue":27485536.0,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":95,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9373069796170476,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2036,"past_year_issues_count":24,"past_year_pull_requests_count":461,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":235236.38109756098,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":328,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6529284164859002,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":308,"past_year_merged_pull_requests_count":305,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":113,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-15T17:31:43.755Z","created_at":"2022-04-06T09:09:08.614Z","updated_at":"2026-05-15T17:32:44.253Z","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-03-06T02:14:12.000Z","size":27657,"stargazers_count":2422,"open_issues_count":107,"forks_count":985,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-08T00:46:02.921Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-06T01:03:06.000Z","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":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":30360631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-15T17:32:44.230Z","dependent_packages_count":14,"downloads":77610,"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-03-10T00:01:11.532Z","issues_count":171,"pull_requests_count":3212,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687116.7450842697,"issues_closed_count":92,"pull_requests_closed_count":2848,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9399128268991283,"merged_pull_requests_count":2632,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":31,"past_year_pull_requests_count":661,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":291892.55642023345,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":514,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.9032258064516129,"past_year_avg_comments_per_pull_request":0.632375189107413,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":480,"past_year_merged_pull_requests_count":471,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":49,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-19T07:03:01.077Z","created_at":"2025-10-07T04:19:21.188Z","updated_at":"2026-05-19T07:08:46.104Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-19T07:08:46.104Z","dependent_packages_count":0,"downloads":2558,"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-05-19T04:22:42.309Z","issues_count":184,"pull_requests_count":3266,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9387630128597673,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":434,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232852.17627118644,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":295,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6820276497695853,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":270,"past_year_merged_pull_requests_count":276,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-14T13:46:54.170Z","created_at":"2022-04-06T08:06:42.785Z","updated_at":"2026-04-14T13:46:56.985Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-14T13:46:56.957Z","dependent_packages_count":0,"downloads":2386,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-09T02:04:18.689Z","created_at":"2022-04-06T08:35:49.842Z","updated_at":"2026-05-09T02:04:18.689Z","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-02-20T21:12:13.000Z","size":26947,"stargazers_count":2422,"open_issues_count":117,"forks_count":982,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-02-21T02:37:14.194Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-20T21:12:18.000Z","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":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":29692006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-03-27T03:21:41.763Z","dependent_packages_count":0,"downloads":2318,"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-02-20T23:00:52.685Z","issues_count":171,"pull_requests_count":3203,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687584.361208714,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":105,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9391195753980643,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":32,"past_year_pull_requests_count":716,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":282052.55908289243,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":567,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":19,"past_year_avg_comments_per_issue":0.875,"past_year_avg_comments_per_pull_request":0.5977653631284916,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":538,"past_year_merged_pull_requests_count":510,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-26T18:32:48.785Z","created_at":"2022-04-06T05:26:18.437Z","updated_at":"2026-05-26T18:32:49.218Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-05-26T18:32:49.191Z","dependent_packages_count":0,"downloads":3165,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-02T22:47:29.598Z","created_at":"2022-04-05T17:31:53.982Z","updated_at":"2026-05-02T22:50:09.467Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-02T22:50:09.466Z","dependent_packages_count":0,"downloads":4320,"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-05-02T15:06:45.919Z","issues_count":179,"pull_requests_count":3239,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":97,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.642458100558659,"avg_comments_per_pull_request":0.9376350725532572,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2036,"past_year_issues_count":25,"past_year_pull_requests_count":450,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":211003.67405063292,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":316,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6422222222222222,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":298,"past_year_merged_pull_requests_count":295,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":115,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-04-30T01:04:55.956Z","created_at":"2025-10-07T02:11:43.889Z","updated_at":"2026-04-30T01:08:27.315Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32276667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-04-30T01:08:27.315Z","dependent_packages_count":0,"downloads":2803,"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-04-27T21:00:39.043Z","issues_count":176,"pull_requests_count":3235,"avg_time_to_close_issue":27485536.0,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":95,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9369397217928903,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2035,"past_year_issues_count":24,"past_year_pull_requests_count":476,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":224739.91304347827,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":345,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6407563025210085,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":323,"past_year_merged_pull_requests_count":320,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":43,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-19T13:32:10.546Z","created_at":"2025-10-07T05:34:44.196Z","updated_at":"2026-05-19T13:32:48.457Z","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-02-26T22:49:23.000Z","size":27097,"stargazers_count":2422,"open_issues_count":117,"forks_count":983,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-01T00:42:12.720Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-26T22:03:06.000Z","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":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":30219319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T14:02:48.375Z","status":"ssl_error","status_checked_at":"2026-03-07T14:02:43.192Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-19T13:32:48.429Z","dependent_packages_count":0,"downloads":2386,"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-03-07T15:04:17.940Z","issues_count":171,"pull_requests_count":3212,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687116.7450842697,"issues_closed_count":92,"pull_requests_closed_count":2848,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9399128268991283,"merged_pull_requests_count":2632,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":31,"past_year_pull_requests_count":661,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":291892.55642023345,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":514,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.9032258064516129,"past_year_avg_comments_per_pull_request":0.632375189107413,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":480,"past_year_merged_pull_requests_count":471,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":49,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-24T03:03:11.030Z","created_at":"2025-10-07T05:12:23.193Z","updated_at":"2026-04-24T03:09:07.965Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32207221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T01:12:49.758Z","status":"online","status_checked_at":"2026-04-24T02:00:07.115Z","response_time":64,"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-04-24T03:09:07.965Z","dependent_packages_count":0,"downloads":2391,"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-04-23T07:05:33.375Z","issues_count":176,"pull_requests_count":3234,"avg_time_to_close_issue":27294169.24468085,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":94,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9372294372294372,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2034,"past_year_issues_count":24,"past_year_pull_requests_count":494,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":225827.05540166204,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":361,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6558704453441295,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":339,"past_year_merged_pull_requests_count":336,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-26T21:46:43.018Z","created_at":"2022-04-06T04:20:14.401Z","updated_at":"2026-05-26T21:47:29.571Z","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-05-22T02:23:12.000Z","size":27880,"stargazers_count":2429,"open_issues_count":121,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-24T23:10:01.841Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-22T11:03:34.000Z","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":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":33540617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-26T21:47:29.571Z","dependent_packages_count":0,"downloads":2470,"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-05-25T08:00:47.462Z","issues_count":184,"pull_requests_count":3270,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":693769.2211805555,"issues_closed_count":97,"pull_requests_closed_count":2880,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9388379204892966,"merged_pull_requests_count":2663,"bot_issues_count":10,"bot_pull_requests_count":2046,"past_year_issues_count":29,"past_year_pull_requests_count":408,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":249474.56133828996,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":269,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.7009803921568627,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":247,"past_year_merged_pull_requests_count":250,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"simi","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-03T02:02:08.894Z","created_at":"2025-10-07T04:18:19.592Z","updated_at":"2026-05-03T02:04:59.016Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-03T02:04:59.016Z","dependent_packages_count":0,"downloads":2603,"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-05-02T15:06:45.919Z","issues_count":179,"pull_requests_count":3239,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":97,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.642458100558659,"avg_comments_per_pull_request":0.9376350725532572,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2036,"past_year_issues_count":25,"past_year_pull_requests_count":450,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":211003.67405063292,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":316,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6422222222222222,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":298,"past_year_merged_pull_requests_count":295,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":115,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-26T23:46:44.225Z","created_at":"2025-10-07T05:12:51.311Z","updated_at":"2026-05-26T23:47:19.329Z","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-05-22T02:23:12.000Z","size":27880,"stargazers_count":2429,"open_issues_count":121,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-24T23:10:01.841Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-22T11:03:34.000Z","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":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":33540617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-26T23:47:19.329Z","dependent_packages_count":0,"downloads":2584,"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-05-26T21:47:29.368Z","issues_count":185,"pull_requests_count":3280,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":692977.3312543313,"issues_closed_count":97,"pull_requests_closed_count":2886,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.616216216216216,"avg_comments_per_pull_request":0.9384146341463414,"merged_pull_requests_count":2668,"bot_issues_count":10,"bot_pull_requests_count":2052,"past_year_issues_count":30,"past_year_pull_requests_count":412,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":254811.46468401488,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":269,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.6990291262135923,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":249,"past_year_merged_pull_requests_count":249,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":40,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"simi","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-24T06:46:59.310Z","created_at":"2025-10-07T02:09:02.639Z","updated_at":"2026-04-24T06:47:32.553Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32207221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T01:12:49.758Z","status":"online","status_checked_at":"2026-04-24T02:00:07.115Z","response_time":64,"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-04-24T06:47:32.552Z","dependent_packages_count":0,"downloads":2578,"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-02-17T04:00:42.200Z","issues_count":171,"pull_requests_count":3203,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687584.361208714,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":105,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9391195753980643,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":34,"past_year_pull_requests_count":761,"past_year_avg_time_to_close_issue":530558.8888888889,"past_year_avg_time_to_close_pull_request":270376.31527093594,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":609,"past_year_pull_request_authors_count":35,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":0.8235294117647058,"past_year_avg_comments_per_pull_request":0.59526938239159,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":577,"past_year_merged_pull_requests_count":549,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-06T04:16:55.789Z","created_at":"2022-04-06T05:04:02.117Z","updated_at":"2026-05-06T04:17:04.099Z","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":"2025-11-24T01:59:10.000Z","size":26721,"stargazers_count":2407,"open_issues_count":114,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-11-24T06:47:15.156Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-11-24T01:57:54.000Z","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":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":286079811,"owners_count":27282121,"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","status":"online","status_checked_at":"2025-11-24T02:00:07.096Z","response_time":68,"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-05-06T04:17:04.072Z","dependent_packages_count":0,"downloads":4567,"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":"2025-11-27T09:00:48.795Z","issues_count":171,"pull_requests_count":3191,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637522.2481520592,"issues_closed_count":92,"pull_requests_closed_count":2841,"pull_request_authors_count":101,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398307740520213,"merged_pull_requests_count":2626,"bot_issues_count":10,"bot_pull_requests_count":2016,"past_year_issues_count":44,"past_year_pull_requests_count":1046,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":277329.3128621089,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":863,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6520076481835564,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":775,"past_year_merged_pull_requests_count":776,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-04-30T06:33:48.462Z","created_at":"2022-04-06T10:03:20.291Z","updated_at":"2026-04-30T06:34:50.942Z","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":"2025-12-11T23:15:54.000Z","size":26550,"stargazers_count":2407,"open_issues_count":124,"forks_count":976,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-12T01:29:31.140Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-11T23:14:53.000Z","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":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":28089861,"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","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"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-04-30T06:34:50.909Z","dependent_packages_count":0,"downloads":2501,"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":"2025-12-22T17:00:59.651Z","issues_count":171,"pull_requests_count":3199,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687815.7764499121,"issues_closed_count":92,"pull_requests_closed_count":2845,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939043451078462,"merged_pull_requests_count":2629,"bot_issues_count":10,"bot_pull_requests_count":2020,"past_year_issues_count":38,"past_year_pull_requests_count":919,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":273976.70627503336,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":749,"past_year_pull_request_authors_count":40,"past_year_issue_authors_count":22,"past_year_avg_comments_per_issue":0.8421052631578947,"past_year_avg_comments_per_pull_request":0.6191512513601741,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":692,"past_year_merged_pull_requests_count":679,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-19T19:46:27.578Z","created_at":"2025-10-07T06:41:59.030Z","updated_at":"2026-05-19T19:46:27.893Z","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-02-05T12:07:08.000Z","size":26855,"stargazers_count":2421,"open_issues_count":126,"forks_count":983,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-02-05T14:43:51.474Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-05T05:28:33.000Z","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":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":29359361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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"},"tags":[]},"repo_metadata_updated_at":"2026-05-19T19:46:27.872Z","dependent_packages_count":0,"downloads":2419,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-09T13:38:41.560Z","created_at":"2022-04-06T04:28:15.101Z","updated_at":"2026-05-09T13:38:41.560Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-03-23T06:42:59.283Z","dependent_packages_count":0,"downloads":2566,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-16T09:16:18.358Z","created_at":"2025-10-07T05:15:55.917Z","updated_at":"2026-05-16T09:16:37.943Z","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-03-06T02:14:12.000Z","size":27657,"stargazers_count":2422,"open_issues_count":107,"forks_count":985,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-08T00:46:02.921Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-06T01:03:06.000Z","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":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":30360631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-16T09:16:37.905Z","dependent_packages_count":0,"downloads":2397,"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-03-10T00:01:11.532Z","issues_count":171,"pull_requests_count":3212,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687116.7450842697,"issues_closed_count":92,"pull_requests_closed_count":2848,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9399128268991283,"merged_pull_requests_count":2632,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":31,"past_year_pull_requests_count":661,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":291892.55642023345,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":514,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.9032258064516129,"past_year_avg_comments_per_pull_request":0.632375189107413,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":480,"past_year_merged_pull_requests_count":471,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":49,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-09T14:46:11.095Z","created_at":"2022-04-06T09:45:30.665Z","updated_at":"2026-05-09T14:46:11.095Z","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-03-31T02:52:05.000Z","size":27759,"stargazers_count":2424,"open_issues_count":108,"forks_count":989,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-31T05:26:26.949Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-31T02:52:07.000Z","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":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":31382355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T23:20:52.058Z","status":"ssl_error","status_checked_at":"2026-04-03T23:20:51.675Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-09T14:46:10.877Z","dependent_packages_count":0,"downloads":2404,"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-04-03T03:00:54.024Z","issues_count":173,"pull_requests_count":3217,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697026.3539109085,"issues_closed_count":93,"pull_requests_closed_count":2851,"pull_request_authors_count":108,"issue_authors_count":102,"avg_comments_per_issue":2.6763005780346822,"avg_comments_per_pull_request":0.9393845197388871,"merged_pull_requests_count":2635,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":24,"past_year_pull_requests_count":559,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":241198.2701421801,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":422,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":0.9583333333333334,"past_year_avg_comments_per_pull_request":0.6404293381037567,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":392,"past_year_merged_pull_requests_count":394,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":29,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-09T14:46:34.032Z","created_at":"2025-10-07T03:47:43.975Z","updated_at":"2026-05-09T14:46:43.133Z","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-04-07T04:28:57.000Z","size":27655,"stargazers_count":2423,"open_issues_count":123,"forks_count":992,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-07T06:24:34.197Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-07T04:29:00.000Z","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":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":31533900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-09T14:46:43.110Z","dependent_packages_count":0,"downloads":2528,"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-04-07T09:00:55.799Z","issues_count":173,"pull_requests_count":3217,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697026.3539109085,"issues_closed_count":93,"pull_requests_closed_count":2851,"pull_request_authors_count":108,"issue_authors_count":102,"avg_comments_per_issue":2.6763005780346822,"avg_comments_per_pull_request":0.9393845197388871,"merged_pull_requests_count":2635,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":24,"past_year_pull_requests_count":545,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":248163.94376528118,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":409,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":0.9583333333333334,"past_year_avg_comments_per_pull_request":0.6458715596330276,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":378,"past_year_merged_pull_requests_count":381,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":29,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-23T15:14:51.420Z","created_at":"2022-04-06T05:26:06.830Z","updated_at":"2026-05-23T15:45:39.217Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-05-23T15:45:39.188Z","dependent_packages_count":0,"downloads":2544,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-09T16:02:21.323Z","created_at":"2022-04-06T11:46:44.726Z","updated_at":"2026-05-09T16:06:54.443Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32825626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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-05-09T16:06:54.442Z","dependent_packages_count":0,"downloads":2523,"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-05-08T02:00:43.718Z","issues_count":179,"pull_requests_count":3248,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":693692.8171667829,"issues_closed_count":97,"pull_requests_closed_count":2866,"pull_request_authors_count":110,"issue_authors_count":104,"avg_comments_per_issue":2.670391061452514,"avg_comments_per_pull_request":0.9375,"merged_pull_requests_count":2649,"bot_issues_count":10,"bot_pull_requests_count":2042,"past_year_issues_count":25,"past_year_pull_requests_count":438,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":207172.3696369637,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":303,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.6506849315068494,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":289,"past_year_merged_pull_requests_count":282,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-16T11:15:12.427Z","created_at":"2022-04-06T10:02:56.860Z","updated_at":"2026-05-16T15:24:44.653Z","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":"2025-12-29T22:42:37.000Z","size":26598,"stargazers_count":2408,"open_issues_count":131,"forks_count":977,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-30T01:38:31.376Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-29T22:42:41.000Z","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":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":28128155,"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","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"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-05-16T15:24:44.632Z","dependent_packages_count":0,"downloads":2437,"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":"2025-12-29T17:01:55.335Z","issues_count":171,"pull_requests_count":3199,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687818.558172232,"issues_closed_count":92,"pull_requests_closed_count":2845,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939043451078462,"merged_pull_requests_count":2629,"bot_issues_count":10,"bot_pull_requests_count":2020,"past_year_issues_count":37,"past_year_pull_requests_count":905,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":271608.7411924119,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":738,"past_year_pull_request_authors_count":37,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":0.8648648648648649,"past_year_avg_comments_per_pull_request":0.6132596685082873,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":682,"past_year_merged_pull_requests_count":672,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-20T05:17:32.345Z","created_at":"2025-10-07T05:34:24.164Z","updated_at":"2026-05-20T05:20:17.369Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-20T05:20:17.369Z","dependent_packages_count":0,"downloads":2409,"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-05-20T04:18:58.956Z","issues_count":184,"pull_requests_count":3266,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9387630128597673,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":427,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":237873.20486111112,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":288,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6932084309133489,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":263,"past_year_merged_pull_requests_count":269,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-16T22:02:19.483Z","created_at":"2025-10-07T05:15:17.897Z","updated_at":"2026-05-16T22:03:36.339Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-16T22:03:36.338Z","dependent_packages_count":0,"downloads":2400,"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-05-16T07:00:44.652Z","issues_count":184,"pull_requests_count":3262,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9393010423053342,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":437,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232285.2880794702,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":302,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6796338672768879,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":277,"past_year_merged_pull_requests_count":282,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-27T15:46:41.011Z","created_at":"2025-10-07T04:29:22.973Z","updated_at":"2026-05-27T15:46:41.011Z","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-04-07T04:28:57.000Z","size":27655,"stargazers_count":2423,"open_issues_count":123,"forks_count":992,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-07T06:24:34.197Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-07T04:29:00.000Z","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":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":31870522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"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-05-27T15:46:40.464Z","dependent_packages_count":0,"downloads":2501,"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-04-14T07:01:38.225Z","issues_count":173,"pull_requests_count":3217,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697026.3539109085,"issues_closed_count":93,"pull_requests_closed_count":2851,"pull_request_authors_count":108,"issue_authors_count":102,"avg_comments_per_issue":2.6763005780346822,"avg_comments_per_pull_request":0.9393845197388871,"merged_pull_requests_count":2635,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":23,"past_year_pull_requests_count":515,"past_year_avg_time_to_close_issue":646637.0,"past_year_avg_time_to_close_pull_request":214899.86889460153,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":389,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":0.8695652173913043,"past_year_avg_comments_per_pull_request":0.6427184466019418,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":358,"past_year_merged_pull_requests_count":365,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":29,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"segiddins","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"jenshenny","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-18T20:48:12.707Z","created_at":"2025-10-07T05:15:21.621Z","updated_at":"2026-04-18T20:48:13.110Z","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":"2025-11-24T01:59:10.000Z","size":26721,"stargazers_count":2407,"open_issues_count":114,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-11-24T06:47:15.156Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-11-24T01:57:54.000Z","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":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":286079811,"owners_count":27282121,"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","status":"online","status_checked_at":"2025-11-24T02:00:07.096Z","response_time":68,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-18T20:48:13.082Z","dependent_packages_count":0,"downloads":2421,"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":"2025-11-27T09:00:48.795Z","issues_count":171,"pull_requests_count":3191,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637522.2481520592,"issues_closed_count":92,"pull_requests_closed_count":2841,"pull_request_authors_count":101,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398307740520213,"merged_pull_requests_count":2626,"bot_issues_count":10,"bot_pull_requests_count":2016,"past_year_issues_count":44,"past_year_pull_requests_count":1046,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":277329.3128621089,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":863,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6520076481835564,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":775,"past_year_merged_pull_requests_count":776,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-13T19:47:00.351Z","created_at":"2022-04-05T19:46:59.402Z","updated_at":"2026-05-13T19:47:00.351Z","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":2810,"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-27T21:45:49.813Z","created_at":"2022-04-05T17:36:07.911Z","updated_at":"2026-05-27T21:46:00.318Z","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":"2025-12-29T22:42:37.000Z","size":26598,"stargazers_count":2408,"open_issues_count":131,"forks_count":977,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-30T01:38:31.376Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-29T22:42:41.000Z","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":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":28128155,"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","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"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-05-27T21:46:00.297Z","dependent_packages_count":0,"downloads":2803,"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-01-02T19:02:17.865Z","issues_count":171,"pull_requests_count":3200,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687587.848910752,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.93875,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":37,"past_year_pull_requests_count":894,"past_year_avg_time_to_close_issue":835564.5,"past_year_avg_time_to_close_pull_request":270612.5983606557,"past_year_issues_closed_count":12,"past_year_pull_requests_closed_count":732,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":21,"past_year_avg_comments_per_issue":0.8648648648648649,"past_year_avg_comments_per_pull_request":0.6129753914988815,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":676,"past_year_merged_pull_requests_count":666,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-01T00:46:19.713Z","created_at":"2025-10-07T04:29:12.261Z","updated_at":"2026-05-01T00:47:54.371Z","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-03-16T05:30:49.000Z","size":27569,"stargazers_count":2422,"open_issues_count":104,"forks_count":986,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-16T13:07:59.206Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-16T05:30:51.000Z","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":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":30864022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-23T14:38:03.667Z","status":"ssl_error","status_checked_at":"2026-03-23T14:38:01.683Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-01T00:47:54.350Z","dependent_packages_count":0,"downloads":2442,"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-03-23T06:00:46.291Z","issues_count":172,"pull_requests_count":3214,"avg_time_to_close_issue":27458983.35483871,"avg_time_to_close_pull_request":697270.1603508772,"issues_closed_count":93,"pull_requests_closed_count":2850,"pull_request_authors_count":107,"issue_authors_count":101,"avg_comments_per_issue":2.691860465116279,"avg_comments_per_pull_request":0.939639079029247,"merged_pull_requests_count":2634,"bot_issues_count":10,"bot_pull_requests_count":2022,"past_year_issues_count":23,"past_year_pull_requests_count":596,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":314738.70175438595,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":456,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6291946308724832,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":425,"past_year_merged_pull_requests_count":428,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-24T12:13:25.589Z","created_at":"2025-10-07T03:32:15.210Z","updated_at":"2026-05-24T13:19:55.002Z","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":"2025-12-03T17:18:50.000Z","size":26541,"stargazers_count":2405,"open_issues_count":117,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-12-04T01:54:18.405Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-12-04T00:06:31.000Z","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":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":27620726,"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","status":"online","status_checked_at":"2025-12-09T02:00:09.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-05-24T13:19:54.975Z","dependent_packages_count":0,"downloads":2540,"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":"2025-12-09T03:02:13.830Z","issues_count":171,"pull_requests_count":3199,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687815.7764499121,"issues_closed_count":92,"pull_requests_closed_count":2845,"pull_request_authors_count":102,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.939043451078462,"merged_pull_requests_count":2629,"bot_issues_count":10,"bot_pull_requests_count":2020,"past_year_issues_count":41,"past_year_pull_requests_count":987,"past_year_avg_time_to_close_issue":731360.0714285715,"past_year_avg_time_to_close_pull_request":274560.8170580964,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":809,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":23,"past_year_avg_comments_per_issue":0.8292682926829268,"past_year_avg_comments_per_pull_request":0.630192502532928,"past_year_bot_issues_count":5,"past_year_bot_pull_requests_count":742,"past_year_merged_pull_requests_count":729,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-04-25T02:45:45.486Z","created_at":"2025-10-07T04:18:19.840Z","updated_at":"2026-04-25T02:47:40.696Z","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":"2025-11-24T01:59:10.000Z","size":26721,"stargazers_count":2407,"open_issues_count":114,"forks_count":973,"subscribers_count":96,"default_branch":"master","last_synced_at":"2025-11-24T06:47:15.156Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-11-24T01:57:54.000Z","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":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":286079811,"owners_count":27282121,"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","status":"online","status_checked_at":"2025-11-24T02:00:07.096Z","response_time":68,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-25T02:47:40.676Z","dependent_packages_count":0,"downloads":2458,"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":"2025-11-27T09:00:48.795Z","issues_count":171,"pull_requests_count":3191,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":637522.2481520592,"issues_closed_count":92,"pull_requests_closed_count":2841,"pull_request_authors_count":101,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9398307740520213,"merged_pull_requests_count":2626,"bot_issues_count":10,"bot_pull_requests_count":2016,"past_year_issues_count":44,"past_year_pull_requests_count":1046,"past_year_avg_time_to_close_issue":652236.875,"past_year_avg_time_to_close_pull_request":277329.3128621089,"past_year_issues_closed_count":16,"past_year_pull_requests_closed_count":863,"past_year_pull_request_authors_count":41,"past_year_issue_authors_count":25,"past_year_avg_comments_per_issue":0.7954545454545454,"past_year_avg_comments_per_pull_request":0.6520076481835564,"past_year_bot_issues_count":6,"past_year_bot_pull_requests_count":775,"past_year_merged_pull_requests_count":776,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"segiddins","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"martinemde","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"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":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-13T23:03:43.007Z","created_at":"2022-04-06T04:31:43.291Z","updated_at":"2026-05-13T23:07:23.010Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32825626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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-05-13T23:07:23.009Z","dependent_packages_count":0,"downloads":2554,"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-05-13T20:00:55.461Z","issues_count":184,"pull_requests_count":3255,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694809.3906086957,"issues_closed_count":97,"pull_requests_closed_count":2875,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9385560675883257,"merged_pull_requests_count":2658,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":439,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232428.7091503268,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":306,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6583143507972665,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":286,"past_year_merged_pull_requests_count":285,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":36,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-24T15:16:36.209Z","created_at":"2022-04-05T17:41:00.145Z","updated_at":"2026-05-24T15:16:57.781Z","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-02-12T22:16:05.000Z","size":27013,"stargazers_count":2422,"open_issues_count":117,"forks_count":981,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-02-13T06:22:14.921Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-02-12T21:59:29.000Z","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":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":29455897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-24T15:16:57.753Z","dependent_packages_count":0,"downloads":2842,"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-02-13T00:01:20.044Z","issues_count":171,"pull_requests_count":3202,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687584.361208714,"issues_closed_count":92,"pull_requests_closed_count":2846,"pull_request_authors_count":104,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9391005621486571,"merged_pull_requests_count":2630,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":34,"past_year_pull_requests_count":762,"past_year_avg_time_to_close_issue":530558.8888888889,"past_year_avg_time_to_close_pull_request":269534.6186579378,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":611,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":0.8235294117647058,"past_year_avg_comments_per_pull_request":0.5931758530183727,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":579,"past_year_merged_pull_requests_count":551,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":27,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"jenshenny","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-24T15:31:17.660Z","created_at":"2022-04-06T09:47:32.620Z","updated_at":"2026-05-24T15:32:17.276Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-05-24T15:32:17.249Z","dependent_packages_count":0,"downloads":2393,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-07T03:01:51.657Z","created_at":"2022-04-05T21:03:28.339Z","updated_at":"2026-05-07T03:04:26.501Z","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-05-01T02:10:15.000Z","size":28076,"stargazers_count":2424,"open_issues_count":117,"forks_count":993,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-05-01T02:19:31.024Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-01T02:09:01.000Z","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":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":32520235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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-05-07T03:04:26.500Z","dependent_packages_count":0,"downloads":2560,"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-05-04T21:01:12.968Z","issues_count":179,"pull_requests_count":3239,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":97,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.642458100558659,"avg_comments_per_pull_request":0.9376350725532572,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2036,"past_year_issues_count":25,"past_year_pull_requests_count":450,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":211003.67405063292,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":316,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6422222222222222,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":298,"past_year_merged_pull_requests_count":295,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":115,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":32,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"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/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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":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-05-27T22:44:58.412Z","created_at":"2025-10-07T05:19:43.752Z","updated_at":"2026-05-28T04:38:06.007Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-05-28T04:38:05.979Z","dependent_packages_count":0,"downloads":2433,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-04-28T04:46:03.088Z","created_at":"2022-04-05T19:37:53.778Z","updated_at":"2026-04-28T04:48:13.530Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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-04-28T04:48:13.508Z","dependent_packages_count":0,"downloads":2583,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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-05-14T03:01:53.339Z","created_at":"2025-10-07T05:27:11.849Z","updated_at":"2026-05-14T03:18:59.313Z","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-05-08T07:38:32.000Z","size":27923,"stargazers_count":2425,"open_issues_count":109,"forks_count":995,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-05-08T08:13:15.594Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-08T07:38:35.000Z","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":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":32825626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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-05-14T03:18:59.313Z","dependent_packages_count":0,"downloads":77608,"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-05-13T20:00:55.461Z","issues_count":184,"pull_requests_count":3255,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694809.3906086957,"issues_closed_count":97,"pull_requests_closed_count":2875,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9385560675883257,"merged_pull_requests_count":2658,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":439,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":232428.7091503268,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":306,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6583143507972665,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":286,"past_year_merged_pull_requests_count":285,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":36,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-28T05:47:41.236Z","created_at":"2025-10-07T02:09:12.090Z","updated_at":"2026-05-28T05:48:22.078Z","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-05-22T02:23:12.000Z","size":27880,"stargazers_count":2429,"open_issues_count":121,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-24T23:10:01.841Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-22T11:03:34.000Z","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":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":33596316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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-05-28T05:48:22.077Z","dependent_packages_count":0,"downloads":3144,"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-05-28T03:00:53.809Z","issues_count":185,"pull_requests_count":3280,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":692977.3312543313,"issues_closed_count":97,"pull_requests_closed_count":2886,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.616216216216216,"avg_comments_per_pull_request":0.9384146341463414,"merged_pull_requests_count":2668,"bot_issues_count":10,"bot_pull_requests_count":2052,"past_year_issues_count":30,"past_year_pull_requests_count":411,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":253955.41791044775,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":268,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.2,"past_year_avg_comments_per_pull_request":0.7007299270072993,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":248,"past_year_merged_pull_requests_count":248,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":40,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"simi","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-17T16:46:45.611Z","created_at":"2025-10-07T06:11:21.289Z","updated_at":"2026-05-17T16:46:45.684Z","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-03-06T02:14:12.000Z","size":27657,"stargazers_count":2422,"open_issues_count":107,"forks_count":985,"subscribers_count":98,"default_branch":"master","last_synced_at":"2026-03-08T00:46:02.921Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-03-06T01:03:06.000Z","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":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":30360631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-17T16:46:45.596Z","dependent_packages_count":0,"downloads":2431,"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-03-10T00:01:11.532Z","issues_count":171,"pull_requests_count":3212,"avg_time_to_close_issue":27296121.641304348,"avg_time_to_close_pull_request":687116.7450842697,"issues_closed_count":92,"pull_requests_closed_count":2848,"pull_request_authors_count":106,"issue_authors_count":100,"avg_comments_per_issue":2.7076023391812867,"avg_comments_per_pull_request":0.9399128268991283,"merged_pull_requests_count":2632,"bot_issues_count":10,"bot_pull_requests_count":2021,"past_year_issues_count":31,"past_year_pull_requests_count":661,"past_year_avg_time_to_close_issue":573667.875,"past_year_avg_time_to_close_pull_request":291892.55642023345,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":514,"past_year_pull_request_authors_count":33,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":0.9032258064516129,"past_year_avg_comments_per_pull_request":0.632375189107413,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":480,"past_year_merged_pull_requests_count":471,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":28,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":49,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"segiddins","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"simi","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"martinemde","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"jenshenny","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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":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-05-28T09:16:35.753Z","created_at":"2025-10-07T04:29:08.860Z","updated_at":"2026-05-28T09:21:56.006Z","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-04-21T03:05:08.000Z","size":27924,"stargazers_count":2424,"open_issues_count":118,"forks_count":994,"subscribers_count":99,"default_branch":"master","last_synced_at":"2026-04-23T07:10:11.718Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-04-21T09:37:01.000Z","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":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":32207221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T01:12:49.758Z","status":"online","status_checked_at":"2026-04-24T02:00:07.115Z","response_time":64,"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-05-28T09:21:55.985Z","dependent_packages_count":0,"downloads":4591,"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-04-25T21:06:46.888Z","issues_count":176,"pull_requests_count":3235,"avg_time_to_close_issue":27485536.0,"avg_time_to_close_pull_request":695108.5426573426,"issues_closed_count":95,"pull_requests_closed_count":2860,"pull_request_authors_count":109,"issue_authors_count":104,"avg_comments_per_issue":2.653409090909091,"avg_comments_per_pull_request":0.9369397217928903,"merged_pull_requests_count":2643,"bot_issues_count":10,"bot_pull_requests_count":2035,"past_year_issues_count":24,"past_year_pull_requests_count":476,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":224739.91304347827,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":345,"past_year_pull_request_authors_count":34,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.6407563025210085,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":323,"past_year_merged_pull_requests_count":320,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":30,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":43,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"simi","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"jenshenny","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-24T23:03:22.938Z","created_at":"2025-10-07T01:35:30.140Z","updated_at":"2026-05-24T23:03:39.078Z","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-05-15T13:38:19.000Z","size":27909,"stargazers_count":2426,"open_issues_count":130,"forks_count":997,"subscribers_count":96,"default_branch":"master","last_synced_at":"2026-05-15T15:32:03.203Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2026-05-15T13:28:33.000Z","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":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":33120450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"},"tags":[]},"repo_metadata_updated_at":"2026-05-24T23:03:39.077Z","dependent_packages_count":0,"downloads":2960,"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-05-22T04:04:18.454Z","issues_count":184,"pull_requests_count":3266,"avg_time_to_close_issue":29718131.54639175,"avg_time_to_close_pull_request":694235.9464906185,"issues_closed_count":97,"pull_requests_closed_count":2878,"pull_request_authors_count":112,"issue_authors_count":105,"avg_comments_per_issue":2.619565217391304,"avg_comments_per_pull_request":0.9387630128597673,"merged_pull_requests_count":2661,"bot_issues_count":10,"bot_pull_requests_count":2045,"past_year_issues_count":29,"past_year_pull_requests_count":411,"past_year_avg_time_to_close_issue":2061614.5,"past_year_avg_time_to_close_pull_request":247164.1496350365,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":274,"past_year_pull_request_authors_count":36,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":1.1724137931034484,"past_year_avg_comments_per_pull_request":0.6909975669099757,"past_year_bot_issues_count":2,"past_year_bot_pull_requests_count":253,"past_year_merged_pull_requests_count":255,"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":240,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":37,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"login":"mensfeld","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"landongrindheim","count":52,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"colby-swandale","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"jenshenny","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jenshenny"},{"login":"mghaught","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"simi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"segiddins","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"martinemde","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"mensfeld","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mensfeld"},{"login":"hsbt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"}]},"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":192285,"maintainers_count":67828,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","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-05-07T06:54:22.483Z","created_at":"2022-04-06T01:01:56.617Z","updated_at":"2026-05-07T11:45:56.992Z","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":"2025-10-15T23:46:05.000Z","size":26388,"stargazers_count":2404,"open_issues_count":129,"forks_count":968,"subscribers_count":101,"default_branch":"master","last_synced_at":"2025-10-16T11:06:38.684Z","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":null,"dco":null,"cla":null},"funding":{"custom":"https://rubycentral.org/#/portal/signup","github":"rubytogether"}},"created_at":"2009-01-29T22:30:46.000Z","updated_at":"2025-10-16T10:22:35.000Z","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":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":279523248,"owners_count":26184725,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2026-05-07T11:45:56.969Z","dependent_packages_count":0,"downloads":2526,"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":"2025-10-15T21:01:42.539Z","issues_count":169,"pull_requests_count":3150,"avg_time_to_close_issue":27584760.58241758,"avg_time_to_close_pull_request":637109.663232682,"issues_closed_count":91,"pull_requests_closed_count":2815,"pull_request_authors_count":98,"issue_authors_count":100,"avg_comments_per_issue":2.7159763313609466,"avg_comments_per_pull_request":0.9457142857142857,"merged_pull_requests_count":2605,"bot_issues_count":10,"bot_pull_requests_count":1985,"past_year_issues_count":53,"past_year_pull_requests_count":1275,"past_year_avg_time_to_close_issue":549711.6315789474,"past_year_avg_time_to_close_pull_request":279796.17113783536,"past_year_issues_closed_count":19,"past_year_pull_requests_closed_count":1081,"past_year_pull_request_authors_count":46,"past_year_issue_authors_count":31,"past_year_avg_comments_per_issue":0.6981132075471698,"past_year_avg_comments_per_pull_request":0.7184313725490196,"past_year_bot_issues_count":7,"past_year_bot_pull_requests_count":923,"past_year_merged_pull_requests_count":971,"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":241,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"simi","count":129,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"colby-swandale","count":106,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"jenshenny","count":25,"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":16,"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":"sonalkr132","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sonalkr132"},{"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":"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":"arunagw","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/arunagw"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"},{"login":"qrush","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/qrush"},{"login":"duckinator","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/duckinator"}],"active_maintainers":[{"login":"martinemde","count":71,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinemde"},{"login":"segiddins","count":65,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/segiddins"},{"login":"colby-swandale","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/colby-swandale"},{"login":"landongrindheim","count":47,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/landongrindheim"},{"login":"simi","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/simi"},{"login":"mghaught","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mghaught"},{"login":"hsbt","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"dwradcliffe","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dwradcliffe"},{"login":"ljtang2009","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljtang2009"}]},"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":207448,"maintainers_count":68819,"namespaces_count":0,"keywords_count":18696,"github":"rubygems","metadata":{"funded_packages_count":7415},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-29T05:10:11.162Z","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":9774,"total_committers":486,"total_bot_commits":1975,"total_bot_committers":3,"mean_commits":20.11111111111111,"dds":0.8079598935952528,"past_year_total_commits":672,"past_year_total_committers":34,"past_year_total_bot_commits":470,"past_year_total_bot_committers":1,"past_year_mean_commits":19.764705882352942,"past_year_dds":0.30059523809523814,"last_synced_at":"2026-03-28T21:44:48.713Z","last_synced_commit":"333af6cb17d058fa54fcf4ae4c58ec5759a5b5e0","created_at":"2023-03-08T13:33:19.941Z","updated_at":"2026-03-28T21:29:17.191Z","committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1877},{"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":184},{"name":"Martin Emde","email":"martinemde","login":"martinemde","count":148},{"name":"Colby Swandale","email":"996377+colby-swandale","login":"colby-swandale","count":137},{"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":"bettymakes","email":"makewithbetty@gmail.com","login":"bettymakes","count":50},{"name":"Eric Herscovich","email":"eric.herscovich@shopify.com","login":"ericherscovich","count":50},{"name":"Ashley Ellis Pierce","email":"anellis12@gmail.com","login":"aellispierce","count":48},{"name":"Landon Grindheim","email":"landon.grindheim@gmail.com","login":"landongrindheim","count":47},{"name":"Qiu Chaofan","email":"fwage73@gmail.com","login":"ecnelises","count":42},{"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":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":30},{"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":"Thomas Dziedzic","email":"thomasdziedzic0@gmail.com","login":"thomasdziedzic","count":19},{"name":"dependabot[bot]","email":"support@dependabot.com","login":"dependabot-support","count":19},{"name":"Davisc0801","email":"davisc1014@gmail.com","login":"DavisC0801","count":15},{"name":"Olivier Lacan","email":"hi@olivierlacan.com","login":"olivierlacan","count":15},{"name":"James A. Rosen","email":"james@zendesk.com","login":null,"count":15},{"name":"Nicholas La Roux","email":"larouxn@gmail.com","login":"larouxn","count":14},{"name":"Keenan Brock","email":"keenan@thebrocks.net","login":"kbrock","count":14},{"name":"Evan Light","email":"evan@tripledogdare.net","login":null,"count":14},{"name":"Erik Michaels-Ober","email":"erik@instacart.com","login":null,"count":14},{"name":"Aaron Suggs","email":"aaron@ktheory.com","login":"ktheory","count":13},{"name":"Matt Jankowski","email":"mjankowski@thoughtbot.com","login":"mjankowski","count":13},{"name":"shlok007","email":"shlok.srivastava15@gmail.com","login":"shlok007","count":13},{"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":"Bradly Feeley","email":"4227+bradly","login":"bradly","count":12},{"name":"Tad Hosford","email":"tad@isotope11.com","login":null,"count":11},{"name":"Nathan Sutton","email":"nate@sevenwire.com","login":null,"count":11},{"name":"Takuya Noguchi","email":"takninnovationresearch@gmail.com","login":"tnir","count":11},{"name":"Jeff Kreeftmeijer","email":"jeff@kreeftmeijer.nl","login":null,"count":11},{"name":"John Trupiano","email":"jtrupiano@gmail.com","login":"jtrupiano","count":11},{"name":"Felipe Tanus","email":"fotanus@gmail.com","login":"fotanus","count":11},{"name":"Jon Moss","email":"me@jonathanmoss.me","login":"maclover7","count":11},{"name":"Espartaco Palma","email":"esparta@gmail.com","login":"esparta","count":11},{"name":"James Tucker","email":"jftucker@gmail.com","login":"raggi","count":10},{"name":"Mercedes Bernard","email":"mercedesrbernard@gmail.com","login":"mercedesb","count":10},{"name":"David A. Black","email":"dblack@rubypal.com","login":"dblack","count":10},{"name":"nakul9597","email":"nakul9597@gmail.com","login":"nakul9597","count":9},{"name":"Lucas Mansur","email":"lucas.mansur2@gmail.com","login":"lmansur","count":9},{"name":"Arun Agrawal","email":"arunagw@gmail.com","login":"arunagw","count":9},{"name":"Andy Holman","email":"andy@conspyre.com","login":"zenom","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":"Fabian Rodriguez","email":"fabianrbz@gmail.com","login":"fabianrbz","count":8},{"name":"Frank Rietta","email":"frank@rietta.com","login":"rietta","count":8},{"name":"Andreas Loupasakis","email":"alup@aloop.org","login":"alup","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":"Jason Lee","email":"huacnlee@gmail.com","login":"huacnlee","count":8},{"name":"Nathan Youngman","email":"git@nathany.com","login":"nathany","count":8},{"name":"Samuel Cochran","email":"sj26@sj26.com","login":"sj26","count":8},{"name":"delba","email":"delba@server.fake","login":"delba","count":8},{"name":"geemus","email":"geemus@gmail.com","login":"geemus","count":8},{"name":"drew olson","email":"olsonas@gmail.com","login":"drewolson","count":8},{"name":"Juanito Fatas","email":"katehuang0320@gmail.com","login":"JuanitoFatas","count":8},{"name":"Joshua Clayton","email":"joshua.clayton@gmail.com","login":"joshuaclayton","count":8},{"name":"Benjamin Fleischer","email":"github@benjaminfleischer.com","login":"bf4","count":8},{"name":"Fletcher Wilkens","email":"fletcher.wilkens1@gmail.com","login":"fwilkens","count":7},{"name":"Grey Baker","email":"greysteil@gmail.com","login":"greysteil","count":7},{"name":"Jakub Suder","email":"jakub.suder@gmail.com","login":"mackuba","count":7},{"name":"Matt Mongeau","email":"matt@toastyapps.com","login":null,"count":7},{"name":"Javier Menéndez Rizo","email":"jmenendez087@gmail.com","login":"javier-menendez","count":7},{"name":"LH","email":"lh@lhdv.net","login":"lhdv","count":7},{"name":"Sebastian Staudt","email":"koraktor@gmail.com","login":"koraktor","count":7},{"name":"rochlefebvre","email":"roch.lefebvre@shopify.com","login":"rochlefebvre","count":7},{"name":"Philip Arndt","email":"parndt@gmail.com","login":"parndt","count":7},{"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":"Erik Michaels-Ober","email":"erik@instcart.com","login":null,"count":6},{"name":"Tyler Knappe","email":"tyler.knappe@teamsnap.com","login":null,"count":6},{"name":"Weston Platter","email":"westonplatter@gmail.com","login":"westonplatter","count":6},{"name":"Stephanie Morillo","email":"rubymorillo","login":"rubymorillo","count":5},{"name":"Hsing-Hui Hsu","email":"hhhsu1@gmail.com","login":"Elffers","count":5},{"name":"Gary Tou","email":"gary@garytou.com","login":"garyhtou","count":5},{"name":"Ezekiel Smithburg","email":"tehgeekmeister@gmail.com","login":"heartpunk","count":5},{"name":"Erick Sasse","email":"esasse@gmail.com","login":"esasse","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":"Maciej Mensfeld","email":"maciej@mensfeld.pl","login":"mensfeld","count":5},{"name":"Mark McSpadden","email":"markmcspadden@gmail.com","login":"markmcspadden","count":5},{"name":"Facundo Padula","email":"facundo.padula@cedarcode.com","login":null,"count":5},{"name":"Colby Swandale","email":"colby@taplaboratories.com","login":null,"count":5},{"name":"Ben Brinckerhoff","email":"ben@devver.net","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":"Arthur Nogueira Neves","email":"github@arthurnn.com","login":null,"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":"Reece Dunham","email":"me@rdil.rocks","login":"RDIL","count":4},{"name":"Nick Plante","email":"nap@zerosum.org","login":"zapnap","count":4},{"name":"Melissa","email":"melissa.a.voegeli@gmail.com","login":"melissavoegeli","count":4},{"name":"Kerri Miller","email":"kerrizor@kerrizor.com","login":"kerrizor","count":4},{"name":"Marcin Urbański","email":"marcin@urbanski.vdl.pl","login":"murbanski","count":4},{"name":"John McCann","email":"johnfrancismccann@gmail.com","login":"johnfrancismccann","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":"Mark Bennett","email":"mark@burmis.ca","login":"MarkBennett","count":4},{"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":"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":"James Rosen","email":"jrosen@mitre.org","login":null,"count":4},{"name":"Josh Clayton and Nick Quaranto","email":"support+jclayton+nquaranto@thoughtbot.com","login":null,"count":4},{"name":"Tieg Zaharia","email":"tieg@tidelift.com","login":"tiegz","count":4},{"name":"Netto Farah","email":"nettofarah@gmail.com","login":"nettofarah","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":"Lorraine C","email":"lchan912@gmail.com","login":"LoChanHi5","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":"Mike Naberezny","email":"mike@naberezny.com","login":"mnaberez","count":3},{"name":"Suriyaa Kudo","email":"SuriyaaKudoIsc","login":"SuriyaaKudoIsc","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":"Ulysse Buonomo","email":"buonomo.ulysse@gmail.com","login":"BuonOmo","count":3},{"name":"Tijmen Brommet","email":"tijmen@gmail.com","login":"tijmenb","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":"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":"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":"Maximilian Lupke","email":"simply.malu@googlemail.com","login":"malu","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":"Cadu Ribeiro","email":"mail@cadu.dev","login":"duduribeiro","count":3},{"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":"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":"Hrvoje Šimić","email":"shime.ferovac@gmail.com","login":"shime","count":2},{"name":"Hudson","email":"78623737+hudson0xf","login":"hudson0xf","count":2},{"name":"Ian Ker-Seymer","email":"i.kerseymer@gmail.com","login":"ianks","count":2},{"name":"Irmela Goehl","email":"irmela@berlin-coding.de","login":"irmela","count":2},{"name":"Tony Miller","email":"mcfiredrill@gmail.com","login":"mcfiredrill","count":2},{"name":"Jason Garber","email":"jason@sixtwothree.org","login":"jgarber623","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":"fotanus@gmail.com","email":"Felipe Tanus","login":null,"count":2},{"name":"Yoshiyuki Hirano","email":"yhirano@aiming-inc.com","login":null,"count":2},{"name":"Zander Mackie","email":"zander@skilledup.com","login":null,"count":2},{"name":"anand9","email":"anandvasudevan@aekaconsulting.com","login":null,"count":2},{"name":"Ryan R. Smith","email":"this.ryansmith@gmail.com","login":null,"count":2},{"name":"Matthew Ginnard","email":"matthew@runscope.com","login":null,"count":2},{"name":"Mason Fischer","email":"mason@thoughtbot.com","login":null,"count":2},{"name":"Luke Chadwick","email":"luke.a.chadwick@gmail.com","login":null,"count":2},{"name":"Josef Stribny","email":"jstribny@redhat.com","login":null,"count":2},{"name":"Jonathan Claudius","email":"jclaudius@mozilla.com","login":null,"count":2},{"name":"Evan Phoenix","email":"ephoenix@engineyard.com","login":null,"count":2},{"name":"Emmanuel Hayford","email":"hi@manny.codes","login":null,"count":2},{"name":"Christoph Schiessl","email":"cs@proactive.cc","login":null,"count":2},{"name":"Carl Lerche","email":"carllerche@mac.com","login":null,"count":2},{"name":"Ben Hamill","email":"git-commits@benhamill.com","login":null,"count":2},{"name":"Avdi Grimm","email":"avdi@avdi.org","login":null,"count":2},{"name":"Andre Medeiros","email":"me@andremedeiros.info","login":null,"count":2},{"name":"Aditya Prakash","email":"aditya.pr@media.net","login":"aditya-pr","count":2},{"name":"Alessandro Rodi","email":"coorasse@gmail.com","login":"coorasse","count":2},{"name":"OKURA Masafumi","email":"masafumi.o1988@gmail.com","login":"okuramasafumi","count":2},{"name":"Étienne Barrié","email":"etienne.barrie@gmail.com","login":"etiennebarrie","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":"Simone Carletti","email":"weppos@weppos.net","login":"weppos","count":2},{"name":"Tony Liao","email":"kuanchiliao@gmail.com","login":"Kuanchiliao1","count":2},{"name":"Shunji Nishitani","email":"shun_nishitani@me.com","login":"shunshunNi","count":2},{"name":"Garen J. Torikian","email":"gjtorikian","login":"gjtorikian","count":2},{"name":"B3","email":"52599949+a5-stable","login":"a5-stable","count":2},{"name":"Daniel Huckstep","email":"darkhelmet@darkhelmetlive.com","login":"darkhelmet","count":2},{"name":"Vincent J. DeVendra","email":"VinceDeVendra@gmail.com","login":"vincedevendra","count":2},{"name":"YutaGoto","email":"you.goto.510@gmail.com","login":"YutaGoto","count":2},{"name":"bronzdoc","email":"lsagastume1990@gmail.com","login":"bronzdoc","count":2},{"name":"dewski","email":"me@garrettbjerkhoel.com","login":"dewski","count":2},{"name":"neilnaveen","email":"42328488+neilnaveen","login":"neilnaveen","count":2},{"name":"e-sabelhaus","email":"eric.sabelhaus@gmail.com","login":"esabelhaus","count":2},{"name":"Joshua Wood","email":"josh@joshuawood.net","login":"joshuap","count":2},{"name":"mikit","email":"mikihito0906@gmail.com","login":"m1kit","count":2},{"name":"Alex Mitchell","email":"amitchellofficial@gmail.com","login":"A-Mitch","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":"Josh Kalderimis","email":"josh.kalderimis@gmail.com","login":"joshk","count":2},{"name":"Mark Tareshawty","email":"tarebyte@gmail.com","login":"tarebyte","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":"Juan Ku Quintana","email":"juan@yellowme.mx","login":"juankuquintana","count":2},{"name":"Ivan Tse","email":"ivan.tse1@gmail.com","login":"ivantsepp","count":2},{"name":"stirlhoss","email":"stirlhoss@proton.me","login":"stirlhoss","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":"thekuwayama","email":"thekuwayama@gmail.com","login":"thekuwayama","count":2},{"name":"Mike Rogers","email":"me@mikerogers.io","login":"MikeRogers0","count":2},{"name":"Nikki Murray","email":"nikki.liz.murray@gmail.com","login":"jdax","count":2},{"name":"Timo Schilling","email":"timo@schilling.io","login":"timoschilling","count":1},{"name":"Tobias L. Maier","email":"me@tobiasmaier.info","login":"tmaier","count":1},{"name":"Tom Bryan","email":"hello@tombryan.co","login":"tombryan","count":1},{"name":"Tom Stuart","email":"tom.stuart@shopify.com","login":"tomstuart","count":1},{"name":"Tim Moore","email":"tmoore@incrementalism.net","login":"TimMoore","count":1},{"name":"Shanon McQuay","email":"shanonmcquay@gmail.com","login":null,"count":1},{"name":"KieranP","email":"kieran@katipo.co.nz","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":"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":"Stanislav (Stas) Katkov","email":"github@skatkov.com","login":null,"count":1},{"name":"aquaranto","email":"amanda@quaran.to","login":"aquaranto","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":"Peter Suschlik","email":"peter@suschlik.de","login":"splattael","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":"Spike Ilacqua","email":"spikex@gmail.com","login":"spikex","count":1},{"name":"Kingsley Chijioke","email":"dev@kingsleychijioke.me","login":"kinsomicrote","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":"Alex McHale","email":"alexmchale@gmail.com","login":null,"count":1},{"name":"なつき","email":"i@ntk.me","login":"ntkme","count":1},{"name":"Óscar de Arriba","email":"odarriba@gmail.com","login":"odarriba","count":1},{"name":"zigomir","email":"zigomir@gmail.com","login":"zigomir","count":1},{"name":"ytjmt","email":"46666464+ytjmt","login":"ytjmt","count":1},{"name":"Kirill Shevchenko","email":"kirills167@gmail.com","login":"kirillshevch","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":"tyamagu2","email":"tyamagu2@gmail.com","login":"tyamagu2","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":"Tien","email":"Tiendo1011@gmail.com","login":"tiendo1011","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":"Robert Mosolgo","email":"rmosolgo@github.com","login":null,"count":1},{"name":"Rens Verschuren","email":"rensverschuren@gmail.com","login":null,"count":1},{"name":"camachom","email":"mcama200@gmail.com","login":null,"count":1},{"name":"Squish","email":"squish@collectiveidea.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":"Copilot","email":"198982749+Copilot","login":"Copilot","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":"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":"Brian Lopez","email":"seniorlopez@gmail.com","login":"brianmario","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":"Andrew Marshall","email":"andrew@johnandrewmarshall.com","login":"amarshall","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":"Andrew Stevenson","email":"etherbob","login":"etherbob","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":"Jeff Taggart","email":"jeff@jetaggart.com","login":"jetaggart","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":"Hasan Özovalı","email":"ozovalihasan@gmail.com","login":"ozovalihasan","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":"bry4n","email":"bryann83@gmail.com","login":"bry4n","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":"Hemang Bhagat","email":"bhagathemang360@gmail.com","login":"Hemang360","count":1},{"name":"Henrik Nyh","email":"henrik@nyh.se","login":"henrik","count":1},{"name":"Ian Morgan","email":"ian@ruby-code.com","login":"seeingidog","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":"Eric Turner","email":"ericturnerdev@gmail.com","login":"etdev","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":"Lachlan Sylvester","email":"lachlan.sylvester@hypothetical.com.au","login":"lsylvester","count":1},{"name":"0x01f7","email":"souk.0x01f7@gmail.com","login":null,"count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":470},{"name":"Colby Swandale","email":"996377+colby-swandale","login":"colby-swandale","count":49},{"name":"Landon Grindheim","email":"landon.grindheim@gmail.com","login":"landongrindheim","count":47},{"name":"Jenny Shen","email":"jenny.shen@shopify.com","login":"jenshenny","count":27},{"name":"Nicholas La Roux","email":"larouxn@gmail.com","login":"larouxn","count":14},{"name":"Samuel Giddins","email":"segiddins@segiddins.me","login":"segiddins","count":10},{"name":"Josef Šimánek","email":"josef.simanek@gmail.com","login":"simi","count":9},{"name":"Jeroen Versteeg","email":"jeroen@alisqi.com","login":"drjayvee","count":4},{"name":"Marty Haught","email":"mghaught","login":"mghaught","count":4},{"name":"Rob Stringer","email":"41843577+Mycobee","login":"Mycobee","count":4},{"name":"Martin Emde","email":"martinemde","login":"martinemde","count":4},{"name":"Kerrick Long","email":"me@kerricklong.com","login":"Kerrick","count":2},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":2},{"name":"David Radcliffe","email":"david.radcliffe@shopify.com","login":"dwradcliffe","count":2},{"name":"Christine Seeman","email":"christine.seeman@sofwarellc.com","login":"cseeman","count":2},{"name":"Alex Mitchell","email":"amitchellofficial@gmail.com","login":"A-Mitch","count":2},{"name":"Aaron Patterson","email":"tenderlove@ruby-lang.org","login":"tenderlove","count":2},{"name":"KevinS","email":"kevin.saison91@gmail.com","login":"DoctorFateKS","count":2},{"name":"Copilot","email":"198982749+Copilot","login":"Copilot","count":1},{"name":"Federico Aldunate","email":"39736940+federicoaldunate","login":"federicoaldunate","count":1},{"name":"Garen Torikian","email":"gjtorikian","login":"gjtorikian","count":1},{"name":"Hemang Bhagat","email":"bhagathemang360@gmail.com","login":"Hemang360","count":1},{"name":"Ignacio Huerta","email":"ignacio@ihuerta.net","login":"iox","count":1},{"name":"Jake Bills","email":"jakebills1@gmail.com","login":"jakebills1","count":1},{"name":"Jason Garber","email":"jason@sixtwothree.org","login":"jgarber623","count":1},{"name":"Jason Hsu","email":"jhsu802701@jasonhsu.com","login":"jhsu802701","count":1},{"name":"Marco Roth","email":"marco.roth@intergga.ch","login":"marcoroth","count":1},{"name":"Matt Solt","email":"mattsolt@gmail.com","login":"activefx","count":1},{"name":"Spike Ilacqua","email":"spikex@gmail.com","login":"spikex","count":1},{"name":"albertchae","email":"217050+albertchae","login":"albertchae","count":1},{"name":"dancristianb","email":"32739319+dancristianb","login":"dancristianb","count":1},{"name":"gandaro","email":"811907+gandaro","login":"gandaro","count":1},{"name":"gemmaro","email":"gemmaro.dev@gmail.com","login":"gemmaro","count":1},{"name":"y-yagi","email":"yuuji.yaginuma@gmail.com","login":"y-yagi","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-03-31T00:00:13.296Z","repositories_count":6205593,"commits_count":927560029,"contributors_count":35800282,"owners_count":1143043,"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":{}},"events":null,"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}]}],"score":26.797493203031618,"created_at":"2025-12-10T07:37:45.549Z","updated_at":"2026-05-31T19:30:40.010Z","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"}