{"id":172,"name":null,"description":"ActiveSupport::Memoizable with a few enhancements","url":"https://github.com/matthewrudy/memoist","last_synced_at":"2026-05-24T06:00:37.849Z","repository":{"id":1997162,"uuid":"2930241","full_name":"matthewrudy/memoist","owner":"matthewrudy","description":"ActiveSupport::Memoizable with a few enhancements","archived":false,"fork":false,"pushed_at":"2024-04-30T18:32:03.000Z","size":109,"stargazers_count":925,"open_issues_count":28,"forks_count":98,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-05-05T21:04:28.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/matthewrudy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-07T04:20:35.000Z","updated_at":"2026-04-23T07:44:48.000Z","dependencies_parsed_at":"2024-06-18T11:18:03.237Z","dependency_job_id":null,"html_url":"https://github.com/matthewrudy/memoist","commit_stats":{"total_commits":105,"total_committers":22,"mean_commits":"4.7727272727272725","dds":0.6571428571428571,"last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/matthewrudy/memoist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/sbom","scorecard":{"id":626899,"data":{"date":"2025-08-11","repo":{"name":"github.com/matthewrudy/memoist","commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/22 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/matthewrudy/memoist/ci.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:32","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T06:44:30.545Z","repository_id":1997162,"created_at":"2025-08-21T06:44:30.545Z","updated_at":"2025-08-21T06:44:30.545Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32885233,"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":{"login":"matthewrudy","name":"Matthew Rudy Jacobs","uuid":"8659","kind":"user","description":"Technical Architect @ministryofjustice,\r\nformer Architect @GoGoVan,\r\nOrganiser of @hkcodeconf and @codeaholicshk.\r\nMandarin (and semi-Cantonese) speaker","email":"","website":"https://matthewrudy.com","location":"London / Hong Kong","twitter":null,"company":"GoGoVan","icon_url":"https://avatars.githubusercontent.com/u/8659?v=4","repositories_count":160,"last_synced_at":"2023-04-09T04:55:30.119Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matthewrudy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:22.163Z","updated_at":"2023-04-09T04:55:30.203Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy/repositories"},"packages":[{"id":13530562,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:33:47.982Z","latest_release_published_at":"2026-02-10T23:33:47.982Z","latest_release_number":"0.16.2-2","last_synced_at":"2026-03-13T09:27:45.425Z","created_at":"2026-02-10T23:33:47.780Z","updated_at":"2026-03-13T09:27:45.426Z","registry_url":"https://tracker.debian.org/pkg/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":"https://packages.debian.org/bullseye/ruby-memoist","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:26:41.057Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-memoist?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":8614123,"name":"github.com/matthewrudy/memoist","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":[],"namespace":null,"versions_count":11,"first_release_published_at":"2014-04-16T20:53:30.000Z","latest_release_published_at":"2019-12-04T22:01:28.000Z","latest_release_number":"v0.16.2","last_synced_at":"2026-05-22T01:28:45.917Z","created_at":"2023-12-02T02:11:45.112Z","updated_at":"2026-05-22T01:28:45.917Z","registry_url":"https://pkg.go.dev/github.com/matthewrudy/memoist","install_command":"go get github.com/matthewrudy/memoist","documentation_url":"https://pkg.go.dev/github.com/matthewrudy/memoist#section-documentation","metadata":{},"repo_metadata":{"id":1997162,"uuid":"2930241","full_name":"matthewrudy/memoist","owner":"matthewrudy","description":"ActiveSupport::Memoizable with a few enhancements","archived":false,"fork":false,"pushed_at":"2024-04-30T18:32:03.000Z","size":109,"stargazers_count":925,"open_issues_count":28,"forks_count":98,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-31T20:45:16.299Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/matthewrudy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-07T04:20:35.000Z","updated_at":"2025-08-20T10:20:19.000Z","dependencies_parsed_at":"2024-06-18T11:18:03.237Z","dependency_job_id":null,"html_url":"https://github.com/matthewrudy/memoist","commit_stats":{"total_commits":105,"total_committers":22,"mean_commits":"4.7727272727272725","dds":0.6571428571428571,"last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/matthewrudy/memoist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/sbom","scorecard":{"id":626899,"data":{"date":"2025-08-11","repo":{"name":"github.com/matthewrudy/memoist","commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/22 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/matthewrudy/memoist/ci.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:32","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T06:44:30.545Z","repository_id":1997162,"created_at":"2025-08-21T06:44:30.545Z","updated_at":"2025-08-21T06:44:30.545Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273684470,"owners_count":25149664,"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-09-04T02:00:08.968Z","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":"matthewrudy","name":"Matthew Rudy Jacobs","uuid":"8659","kind":"user","description":"Technical Architect @ministryofjustice,\r\nformer Architect @GoGoVan,\r\nOrganiser of @hkcodeconf and @codeaholicshk.\r\nMandarin (and semi-Cantonese) speaker","email":"","website":"https://matthewrudy.com","location":"London / Hong Kong","twitter":null,"company":"GoGoVan","icon_url":"https://avatars.githubusercontent.com/u/8659?v=4","repositories_count":160,"last_synced_at":"2023-04-09T04:55:30.119Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matthewrudy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:22.163Z","updated_at":"2023-04-09T04:55:30.203Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy/repositories"},"tags":[{"name":"v0.16.2","sha":"b12aff232bd3a41dcab6eb5763907c9c4d13bc41","kind":"commit","published_at":"2019-12-04T22:01:28.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2/manifests"},{"name":"v0.16.1","sha":"34f90dd7cd3f619f043c865e8a937b2d9c682966","kind":"commit","published_at":"2019-11-08T21:05:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.1","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1/manifests"},{"name":"v0.16.0","sha":"f58bb62624aa9a05ed8d178ea1487e52865dffdb","kind":"commit","published_at":"2017-06-20T16:04:20.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"e8b3f3e7c77458f2fc54c56931d7c515b87672ca","kind":"commit","published_at":"2016-08-23T16:04:12.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.15.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"ec52459bc45b57bd541016574e3e27f632f8815e","kind":"commit","published_at":"2015-12-15T10:40:03.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.14.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"d1ad0d373d6b09f91dde139e6dded8d342885cc3","kind":"commit","published_at":"2015-11-26T04:58:19.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.13.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"211860c8025e17c8ff611031cb45c8976683cf04","kind":"commit","published_at":"2015-04-13T15:51:46.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.12.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"e5434851c4aed6ed9f45ec8e3e51ef721a8e00ab","kind":"commit","published_at":"2014-10-10T04:40:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.11.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"f5e3c9972d4bd5160c65738861eb81be850d94bd","kind":"commit","published_at":"2014-08-13T04:29:52.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.10.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0/manifests"},{"name":"v0.9.3","sha":"d73beea0ba6add43d12e1dac216ecf5826b006bf","kind":"commit","published_at":"2014-06-01T15:59:25.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.3","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"b8447acea05dac27f22a122cfa6a7ce5dcbd63cd","kind":"commit","published_at":"2014-04-16T20:53:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2/manifests"},{"name":"0.9.0","sha":"876780c91d0377cd8b487cc4d3e4a13872ad604f","kind":"commit","published_at":"2013-03-20T07:06:56.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.9.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0/manifests"},{"name":"0.2.0","sha":"57cd1a684448d4b7e6f672336e8253d5e03ebbfa","kind":"commit","published_at":"2012-08-15T17:59:42.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.2.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"b5bbbd0048f6430493d2bd42828754643fc878f7","kind":"commit","published_at":"2012-01-24T18:10:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.1.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-09-08T14:37:37.846Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":2.101651297447995,"forks_count":2.573888792331781,"docker_downloads_count":null,"average":6.263215736010905},"purl":"pkg:golang/github.com/matthewrudy/memoist","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/matthewrudy/memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/matthewrudy/memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/matthewrudy/memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-04T02:38:46.592Z","issues_count":43,"pull_requests_count":54,"avg_time_to_close_issue":8187371.107142857,"avg_time_to_close_pull_request":1640827.6585365853,"issues_closed_count":28,"pull_requests_closed_count":41,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":4.046511627906977,"avg_comments_per_pull_request":2.037037037037037,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/issues","maintainers":[{"login":"matthewrudy","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthewrudy"},{"login":"sebjacobs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sebjacobs"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmatthewrudy%2Fmemoist/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2147083,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13751324,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:17:32.360Z","latest_release_published_at":"2026-02-13T07:17:32.360Z","latest_release_number":"0.16.2-2","last_synced_at":"2026-03-13T13:26:13.312Z","created_at":"2026-02-13T07:17:32.183Z","updated_at":"2026-03-13T13:26:13.313Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:17:32.858Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13605733,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:22:34.225Z","latest_release_published_at":"2026-02-11T11:22:34.225Z","latest_release_number":"0.16.0-2","last_synced_at":"2026-03-14T02:08:05.237Z","created_at":"2026-02-11T11:22:33.978Z","updated_at":"2026-03-14T02:08:05.237Z","registry_url":"https://tracker.debian.org/pkg/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":"https://packages.debian.org/buster/ruby-memoist","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.1.4","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:11.191Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-memoist?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-05-22T18:14:24.960Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13804742,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:25:25.173Z","latest_release_published_at":"2026-02-13T18:25:25.173Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-14T03:15:01.781Z","created_at":"2026-02-13T18:25:24.839Z","updated_at":"2026-03-14T03:15:01.781Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:25:58.857Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13779238,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:20:18.895Z","latest_release_published_at":"2026-02-13T13:20:18.895Z","latest_release_number":"0.16.2-2","last_synced_at":"2026-03-13T22:38:54.335Z","created_at":"2026-02-13T13:20:18.676Z","updated_at":"2026-03-13T22:38:54.336Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":1997162,"uuid":"2930241","full_name":"matthewrudy/memoist","owner":"matthewrudy","description":"ActiveSupport::Memoizable with a few enhancements","archived":false,"fork":false,"pushed_at":"2024-04-30T18:32:03.000Z","size":109,"stargazers_count":925,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-01-04T07:56:54.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/matthewrudy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-07T04:20:35.000Z","updated_at":"2025-12-21T03:42:08.000Z","dependencies_parsed_at":"2024-06-18T11:18:03.237Z","dependency_job_id":null,"html_url":"https://github.com/matthewrudy/memoist","commit_stats":{"total_commits":105,"total_committers":22,"mean_commits":"4.7727272727272725","dds":0.6571428571428571,"last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/matthewrudy/memoist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/sbom","scorecard":{"id":626899,"data":{"date":"2025-08-11","repo":{"name":"github.com/matthewrudy/memoist","commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/22 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/matthewrudy/memoist/ci.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:32","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T06:44:30.545Z","repository_id":1997162,"created_at":"2025-08-21T06:44:30.545Z","updated_at":"2025-08-21T06:44:30.545Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28298293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T04:44:51.577Z","status":"ssl_error","status_checked_at":"2026-01-11T04:44:44.232Z","response_time":60,"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"}},"repo_metadata_updated_at":"2026-02-13T13:20:19.176Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":0.5482807897576482,"forks_count":0.6707690512992505,"docker_downloads_count":null,"average":0.30476246026422465},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":252497,"name":"memoist","ecosystem":"rubygems","description":"memoize methods invocation","homepage":"https://github.com/matthewrudy/memoist","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2012-01-24T18:11:24.642Z","latest_release_published_at":"2019-12-04T21:48:11.382Z","latest_release_number":"0.16.2","last_synced_at":"2026-05-24T00:31:15.363Z","created_at":"2022-04-06T04:12:06.359Z","updated_at":"2026-05-24T00:33:02.269Z","registry_url":"https://rubygems.org/gems/memoist","install_command":"gem install memoist -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/memoist/","metadata":{"funding":null},"repo_metadata":{"id":1997162,"uuid":"2930241","full_name":"matthewrudy/memoist","owner":"matthewrudy","description":"ActiveSupport::Memoizable with a few enhancements","archived":false,"fork":false,"pushed_at":"2024-04-30T18:32:03.000Z","size":109,"stargazers_count":925,"open_issues_count":28,"forks_count":98,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-05-05T21:04:28.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/matthewrudy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-07T04:20:35.000Z","updated_at":"2026-04-23T07:44:48.000Z","dependencies_parsed_at":"2024-06-18T11:18:03.237Z","dependency_job_id":null,"html_url":"https://github.com/matthewrudy/memoist","commit_stats":{"total_commits":105,"total_committers":22,"mean_commits":"4.7727272727272725","dds":0.6571428571428571,"last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/matthewrudy/memoist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/sbom","scorecard":{"id":626899,"data":{"date":"2025-08-11","repo":{"name":"github.com/matthewrudy/memoist","commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/22 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/matthewrudy/memoist/ci.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:32","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T06:44:30.545Z","repository_id":1997162,"created_at":"2025-08-21T06:44:30.545Z","updated_at":"2025-08-21T06:44:30.545Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32885233,"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":"matthewrudy","name":"Matthew Rudy Jacobs","uuid":"8659","kind":"user","description":"Technical Architect @ministryofjustice,\r\nformer Architect @GoGoVan,\r\nOrganiser of @hkcodeconf and @codeaholicshk.\r\nMandarin (and semi-Cantonese) speaker","email":"","website":"https://matthewrudy.com","location":"London / Hong Kong","twitter":null,"company":"GoGoVan","icon_url":"https://avatars.githubusercontent.com/u/8659?v=4","repositories_count":160,"last_synced_at":"2023-04-09T04:55:30.119Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matthewrudy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:22.163Z","updated_at":"2023-04-09T04:55:30.203Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy/repositories"},"tags":[{"name":"v0.16.2","sha":"b12aff232bd3a41dcab6eb5763907c9c4d13bc41","kind":"commit","published_at":"2019-12-04T22:01:28.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2/manifests"},{"name":"v0.16.1","sha":"34f90dd7cd3f619f043c865e8a937b2d9c682966","kind":"commit","published_at":"2019-11-08T21:05:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.1","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1/manifests"},{"name":"v0.16.0","sha":"f58bb62624aa9a05ed8d178ea1487e52865dffdb","kind":"commit","published_at":"2017-06-20T16:04:20.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"e8b3f3e7c77458f2fc54c56931d7c515b87672ca","kind":"commit","published_at":"2016-08-23T16:04:12.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.15.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"ec52459bc45b57bd541016574e3e27f632f8815e","kind":"commit","published_at":"2015-12-15T10:40:03.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.14.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"d1ad0d373d6b09f91dde139e6dded8d342885cc3","kind":"commit","published_at":"2015-11-26T04:58:19.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.13.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"211860c8025e17c8ff611031cb45c8976683cf04","kind":"commit","published_at":"2015-04-13T15:51:46.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.12.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"e5434851c4aed6ed9f45ec8e3e51ef721a8e00ab","kind":"commit","published_at":"2014-10-10T04:40:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.11.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"f5e3c9972d4bd5160c65738861eb81be850d94bd","kind":"commit","published_at":"2014-08-13T04:29:52.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.10.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0/manifests"},{"name":"v0.9.3","sha":"d73beea0ba6add43d12e1dac216ecf5826b006bf","kind":"commit","published_at":"2014-06-01T15:59:25.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.3","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"b8447acea05dac27f22a122cfa6a7ce5dcbd63cd","kind":"commit","published_at":"2014-04-16T20:53:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2/manifests"},{"name":"0.9.0","sha":"876780c91d0377cd8b487cc4d3e4a13872ad604f","kind":"commit","published_at":"2013-03-20T07:06:56.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.9.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0/manifests"},{"name":"0.2.0","sha":"57cd1a684448d4b7e6f672336e8253d5e03ebbfa","kind":"commit","published_at":"2012-08-15T17:59:42.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.2.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"b5bbbd0048f6430493d2bd42828754643fc878f7","kind":"commit","published_at":"2012-01-24T18:10:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.1.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-05-24T00:33:02.241Z","dependent_packages_count":187,"downloads":315422714,"downloads_period":"total","dependent_repos_count":35257,"rankings":{"downloads":0.06467367669852031,"dependent_repos_count":0.17562248413822326,"dependent_packages_count":0.20015387874800683,"stargazers_count":1.9641841638697162,"forks_count":2.6421427058128253,"docker_downloads_count":0.2224551465750828,"average":0.8782053426403958},"purl":"pkg:gem/memoist","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/memoist","docker_dependents_count":944,"docker_downloads_count":581188093,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/memoist/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-05-16T02:01:13.286Z","issues_count":43,"pull_requests_count":54,"avg_time_to_close_issue":8187371.107142857,"avg_time_to_close_pull_request":1640827.6585365853,"issues_closed_count":28,"pull_requests_closed_count":41,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":4.046511627906977,"avg_comments_per_pull_request":2.037037037037037,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/issues","maintainers":[{"login":"matthewrudy","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthewrudy"},{"login":"sebjacobs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sebjacobs"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/memoist/codemeta","maintainers":[{"uuid":"31002","login":"matthewrudy","name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://rubygems.org/profiles/matthewrudy","role":null,"created_at":"2022-11-09T09:40:08.053Z","updated_at":"2022-11-09T09:40:08.053Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/matthewrudy/packages"},{"uuid":"50447","login":"Sebjacobs","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://rubygems.org/profiles/Sebjacobs","role":null,"created_at":"2022-11-09T09:40:08.119Z","updated_at":"2022-11-09T09:40:08.119Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/Sebjacobs/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207303,"maintainers_count":68781,"namespaces_count":0,"keywords_count":18627,"github":"rubygems","metadata":{"funded_packages_count":7375},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-13T05:11:24.133Z","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":12271907,"name":"memoist","ecosystem":"rubygems","description":"memoize methods invocation","homepage":"https://github.com/matthewrudy/memoist","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2012-01-24T18:11:24.642Z","latest_release_published_at":"2019-12-04T21:48:11.382Z","latest_release_number":"0.16.2","last_synced_at":"2026-05-24T02:30:34.224Z","created_at":"2025-10-07T04:14:20.398Z","updated_at":"2026-05-24T02:30:48.684Z","registry_url":"https://gem.coop/gems/memoist","install_command":"gem install memoist -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/memoist/","metadata":{"funding":null},"repo_metadata":{"id":1997162,"uuid":"2930241","full_name":"matthewrudy/memoist","owner":"matthewrudy","description":"ActiveSupport::Memoizable with a few enhancements","archived":false,"fork":false,"pushed_at":"2024-04-30T18:32:03.000Z","size":109,"stargazers_count":925,"open_issues_count":28,"forks_count":98,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-05-05T21:04:28.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/matthewrudy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-07T04:20:35.000Z","updated_at":"2026-04-23T07:44:48.000Z","dependencies_parsed_at":"2024-06-18T11:18:03.237Z","dependency_job_id":null,"html_url":"https://github.com/matthewrudy/memoist","commit_stats":{"total_commits":105,"total_committers":22,"mean_commits":"4.7727272727272725","dds":0.6571428571428571,"last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/matthewrudy/memoist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/sbom","scorecard":{"id":626899,"data":{"date":"2025-08-11","repo":{"name":"github.com/matthewrudy/memoist","commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/22 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/matthewrudy/memoist/ci.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:32","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T06:44:30.545Z","repository_id":1997162,"created_at":"2025-08-21T06:44:30.545Z","updated_at":"2025-08-21T06:44:30.545Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32885233,"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":"matthewrudy","name":"Matthew Rudy Jacobs","uuid":"8659","kind":"user","description":"Technical Architect @ministryofjustice,\r\nformer Architect @GoGoVan,\r\nOrganiser of @hkcodeconf and @codeaholicshk.\r\nMandarin (and semi-Cantonese) speaker","email":"","website":"https://matthewrudy.com","location":"London / Hong Kong","twitter":null,"company":"GoGoVan","icon_url":"https://avatars.githubusercontent.com/u/8659?v=4","repositories_count":160,"last_synced_at":"2023-04-09T04:55:30.119Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/matthewrudy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:22.163Z","updated_at":"2023-04-09T04:55:30.203Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewrudy/repositories"},"tags":[{"name":"v0.16.2","sha":"b12aff232bd3a41dcab6eb5763907c9c4d13bc41","kind":"commit","published_at":"2019-12-04T22:01:28.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.2/manifests"},{"name":"v0.16.1","sha":"34f90dd7cd3f619f043c865e8a937b2d9c682966","kind":"commit","published_at":"2019-11-08T21:05:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.1","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.1/manifests"},{"name":"v0.16.0","sha":"f58bb62624aa9a05ed8d178ea1487e52865dffdb","kind":"commit","published_at":"2017-06-20T16:04:20.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.16.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"e8b3f3e7c77458f2fc54c56931d7c515b87672ca","kind":"commit","published_at":"2016-08-23T16:04:12.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.15.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"ec52459bc45b57bd541016574e3e27f632f8815e","kind":"commit","published_at":"2015-12-15T10:40:03.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.14.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"d1ad0d373d6b09f91dde139e6dded8d342885cc3","kind":"commit","published_at":"2015-11-26T04:58:19.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.13.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"211860c8025e17c8ff611031cb45c8976683cf04","kind":"commit","published_at":"2015-04-13T15:51:46.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.12.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"e5434851c4aed6ed9f45ec8e3e51ef721a8e00ab","kind":"commit","published_at":"2014-10-10T04:40:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.11.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"f5e3c9972d4bd5160c65738861eb81be850d94bd","kind":"commit","published_at":"2014-08-13T04:29:52.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.10.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.10.0/manifests"},{"name":"v0.9.3","sha":"d73beea0ba6add43d12e1dac216ecf5826b006bf","kind":"commit","published_at":"2014-06-01T15:59:25.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.3","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"b8447acea05dac27f22a122cfa6a7ce5dcbd63cd","kind":"commit","published_at":"2014-04-16T20:53:30.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/v0.9.2","html_url":"https://github.com/matthewrudy/memoist/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@v0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/v0.9.2/manifests"},{"name":"0.9.0","sha":"876780c91d0377cd8b487cc4d3e4a13872ad604f","kind":"commit","published_at":"2013-03-20T07:06:56.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.9.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.9.0/manifests"},{"name":"0.2.0","sha":"57cd1a684448d4b7e6f672336e8253d5e03ebbfa","kind":"commit","published_at":"2012-08-15T17:59:42.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.2.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"b5bbbd0048f6430493d2bd42828754643fc878f7","kind":"commit","published_at":"2012-01-24T18:10:43.000Z","download_url":"https://codeload.github.com/matthewrudy/memoist/tar.gz/0.1.0","html_url":"https://github.com/matthewrudy/memoist/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/matthewrudy/memoist@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-05-24T02:30:48.652Z","dependent_packages_count":0,"downloads":315424156,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.07893513262183584,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.15895156843027217,"average":0.059471675263027005},"purl":"pkg:gem/memoist?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/memoist","docker_dependents_count":944,"docker_downloads_count":581188093,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-16T02:01:13.286Z","issues_count":43,"pull_requests_count":54,"avg_time_to_close_issue":8187371.107142857,"avg_time_to_close_pull_request":1640827.6585365853,"issues_closed_count":28,"pull_requests_closed_count":41,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":4.046511627906977,"avg_comments_per_pull_request":2.037037037037037,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/issues","maintainers":[{"login":"matthewrudy","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthewrudy"},{"login":"sebjacobs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sebjacobs"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/memoist/codemeta","maintainers":[{"uuid":"31002","login":"matthewrudy","name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://gem.coop/profiles/matthewrudy","role":null,"created_at":"2025-10-07T23:05:27.201Z","updated_at":"2025-10-07T23:05:27.201Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/matthewrudy/packages"},{"uuid":"50447","login":"Sebjacobs","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://gem.coop/profiles/Sebjacobs","role":null,"created_at":"2025-10-07T23:05:27.247Z","updated_at":"2025-10-07T23:05:27.247Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/Sebjacobs/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192140,"maintainers_count":67790,"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":13566736,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:43:10.079Z","latest_release_published_at":"2026-02-11T06:43:10.079Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-12T07:03:59.782Z","created_at":"2026-02-11T06:43:09.906Z","updated_at":"2026-03-12T07:03:59.782Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:56:50.747Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":13712756,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:34:53.278Z","latest_release_published_at":"2026-02-12T23:34:53.278Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-13T23:44:22.084Z","created_at":"2026-02-12T23:34:53.100Z","updated_at":"2026-03-14T00:02:16.530Z","registry_url":"https://tracker.debian.org/pkg/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":"https://packages.debian.org/bookworm/ruby-memoist","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:34:54.845Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-memoist?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13466965,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:53:44.165Z","latest_release_published_at":"2026-02-09T16:53:44.165Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-09T17:08:30.394Z","created_at":"2026-02-09T16:53:43.891Z","updated_at":"2026-03-09T17:31:51.373Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13406907,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T15:33:41.467Z","latest_release_published_at":"2026-02-06T15:33:41.467Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-06T16:00:55.081Z","created_at":"2026-02-06T15:33:41.155Z","updated_at":"2026-03-06T16:00:55.082Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:deb/ubuntu/ruby-memoist?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13669158,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:30:41.709Z","latest_release_published_at":"2026-02-12T12:30:41.709Z","latest_release_number":"0.16.2-3","last_synced_at":"2026-03-14T18:08:44.452Z","created_at":"2026-02-12T12:30:41.027Z","updated_at":"2026-03-14T18:08:44.452Z","registry_url":"https://tracker.debian.org/pkg/ruby-memoist","install_command":"apt-get install ruby-memoist","documentation_url":"https://packages.debian.org/trixie/ruby-memoist","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-memoist","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-minitest","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:30:42.357Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-memoist?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-memoist/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}}],"commits":{"id":3267,"full_name":"matthewrudy/memoist","default_branch":"master","total_commits":105,"total_committers":20,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":5.25,"dds":0.419047619047619,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-05-23T00:46:33.705Z","last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311","created_at":"2023-03-07T09:17:02.930Z","updated_at":"2026-05-23T00:46:19.676Z","committers":[{"name":"Matthew Rudy Jacobs","email":"MatthewRudyJacobs@gmail.com","login":"matthewrudy","count":61},{"name":"Joe Rafaniello","email":"jrafanie@redhat.com","login":"jrafanie","count":12},{"name":"Seb Jacobs","email":"me@sebjacobs.com","login":"sebjacobs","count":9},{"name":"Peter Boling","email":"peter.boling@gmail.com","login":"pboling","count":3},{"name":"Zach Hale","email":"zachhale@gmail.com","login":"zachhale","count":3},{"name":"Igor Zubkov","email":"igor.zubkov@gmail.com","login":"biow0lf","count":2},{"name":"Joshua Pinter","email":"joshuapinter@gmail.com","login":"joshuapinter","count":2},{"name":"Brady Love and Johnneylee Jack Rollins","email":"brady@artemis.net","login":null,"count":1},{"name":"Gregory Perry","email":"greg@dapperbot.com","login":null,"count":1},{"name":"kota.nomura","email":"kota.nomuta@aktsk.jp","login":null,"count":1},{"name":"Andrey Chernih","email":"andrey.chernih@gmail.com","login":"a-chernykh","count":1},{"name":"Brandon Zylstra","email":"brandon.zylstra@gmail.com","login":"brandondrew","count":1},{"name":"Faraz Yashar","email":"faraz.yashar@gmail.com","login":"fny","count":1},{"name":"Jean Boussier","email":"jean.boussier@gmail.com","login":"byroot","count":1},{"name":"Joe Burns","email":"joseph.burns@gmail.com","login":"JoeMcB","count":1},{"name":"Matias Korhonen","email":"korhonen.matt@gmail.com","login":"matiaskorhonen","count":1},{"name":"Olivier Lacan","email":"hi@olivierlacan.com","login":"olivierlacan","count":1},{"name":"PikachuEXE","email":"pikachuexe@gmail.com","login":"PikachuEXE","count":1},{"name":"Yusuke Nakamura","email":"yusuke1994525@gmail.com","login":"unasuke","count":1},{"name":"fervic","email":"roberto@runawaybit.com","login":"fervic","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-24T00:00:21.472Z","repositories_count":6240188,"commits_count":884585399,"contributors_count":34910025,"owners_count":1156805,"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_stats":{"full_name":"matthewrudy/memoist","html_url":"https://github.com/matthewrudy/memoist","last_synced_at":"2026-05-16T02:01:13.286Z","status":"error","issues_count":43,"pull_requests_count":54,"avg_time_to_close_issue":8187371.107142857,"avg_time_to_close_pull_request":1640827.6585365853,"issues_closed_count":28,"pull_requests_closed_count":41,"pull_request_authors_count":36,"issue_authors_count":38,"avg_comments_per_issue":4.046511627906977,"avg_comments_per_pull_request":2.037037037037037,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T13:39:08.116Z","updated_at":"2026-05-16T02:01:13.287Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewrudy%2Fmemoist/issues","issue_labels_count":{},"pull_request_labels_count":{"breaks tests":1},"issue_author_associations_count":{"NONE":41,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"NONE":24,"CONTRIBUTOR":21,"OWNER":8,"COLLABORATOR":1},"issue_authors":{"JacobEvelyn":5,"findchris":2,"vemv":1,"JelF":1,"patbl":1,"omgitsbillryan":1,"onyxblade":1,"mikebaldry":1,"SamGerber-zz":1,"fny":1,"ansarada-dantan":1,"someperfectname":1,"kenglishhi":1,"nagyt234":1,"ASnow":1,"smazhara":1,"jasonperrone":1,"manuelmeurer":1,"sebastianzillessen":1,"andreychernih":1,"halgorithm":1,"dahnny012":1,"lardcanoe":1,"nikola-maric":1,"bbxiao1":1,"pt-stripe":1,"Shintaro-s-b":1,"zmoazeni":1,"hgani":1,"ashu210890":1,"paulogeyer":1,"gamov":1,"stevenspiel":1,"januszm":1,"3nan3":1,"ericgross":1,"dskim":1,"benlieb":1},"pull_request_authors":{"matthewrudy":8,"JelF":4,"jrafanie":4,"joshuapinter":2,"olivierlacan":2,"dark-panda":2,"edtaupier":2,"unasuke":2,"3nan3":1,"onyxblade":1,"fny":1,"JoeMcB":1,"andreychernih":1,"stevendaniels":1,"pboling":1,"undefinedvalue":1,"zachhale":1,"PikachuEXE":1,"bsa7":1,"fervic":1,"bradylove":1,"jasonperrone":1,"njonsson":1,"biow0lf":1,"matiaskorhonen":1,"tarmo":1,"paneq":1,"honzasterba":1,"shaggyone":1,"mlarraz":1,"brandondrew":1,"casperisfine":1,"lotyrin":1,"ashu210890":1,"ryoqun":1,"sebjacobs":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-24T00:00:44.577Z","repositories_count":14683572,"issues_count":34058092,"pull_requests_count":111488512,"authors_count":11272443,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"matthewrudy","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthewrudy"},{"login":"sebjacobs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sebjacobs"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":1,"WatchEvent":9,"IssueCommentEvent":1},"last_year":{"ForkEvent":1,"WatchEvent":1,"IssueCommentEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"memoist.gemspec","sha":null,"kind":"manifest","created_at":"2022-08-24T23:32:23.098Z","updated_at":"2022-08-24T23:32:23.098Z","repository_link":"https://github.com/matthewrudy/memoist/blob/master/memoist.gemspec","dependencies":[{"id":2587422978,"package_name":"benchmark-ips","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2587422979,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2587422981,"package_name":"rake","ecosystem":"rubygems","requirements":"~\u003e 10.4","direct":true,"kind":"development","optional":false},{"id":2587422982,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2587422983,"package_name":"minitest","ecosystem":"rubygems","requirements":"~\u003e 5.10","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-07-06T14:46:19.706Z","updated_at":"2023-07-06T14:46:19.706Z","repository_link":"https://github.com/matthewrudy/memoist/blob/master/.github/workflows/ci.yml","dependencies":[{"id":11160278069,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2024-06-18T11:18:02.806Z","updated_at":"2024-06-18T11:18:02.806Z","repository_link":"https://github.com/matthewrudy/memoist/blob/master/Gemfile","dependencies":[]}],"score":31.162648424111758,"created_at":"2024-12-15T21:38:07.191Z","updated_at":"2026-05-24T06:00:37.860Z","avatar_url":"https://github.com/matthewrudy.png","language":"Ruby","monthly_downloads":0,"readme":"# Memoist\n\n[![Build Status](https://github.com/matthewrudy/memoist/workflows/ci/badge.svg)](https://github.com/matthewrudy/memoist/actions)\n\nMemoist is an extraction of ActiveSupport::Memoizable.\n\nSince June 2011 ActiveSupport::Memoizable has been deprecated.\nBut I love it,\nand so I plan to keep it alive.\n\n## Usage\n\nJust extend with the Memoist module\n\n```ruby\nrequire 'memoist'\nclass Person\n  extend Memoist\n\n  def social_security\n    puts \"execute!\"\n    decrypt_social_security\n  end\n  memoize :social_security\nend\n\nperson = Person.new\n\nperson.social_security\n# execute!\n# =\u003e (returns decrypt_social_security)\n\nperson.social_security\n# =\u003e (returns the memoized value)\n```\n\nAnd person.social_security will only be calculated once.\n\nEvery memoized function (which initially was not accepting any arguments) has a `(reload)`\nargument you can pass in to bypass and reset the memoization:\n\n```ruby\ndef some_method\n  Time.now\nend\nmemoize :some_method\n```\n\nCalling `some_method` will be memoized, but calling `some_method(true)` will rememoize each time.\n\nYou can even memoize method that takes arguments.\n\n```ruby\nclass Person\n  def taxes_due(income)\n    income * 0.40\n  end\n  memoize :taxes_due\nend\n```\n\nThis will only be calculated once per value of income.\n\nYou can also memoize class methods.\n\n```ruby\nclass Person\n\n  class \u003c\u003c self\n    extend Memoist\n    def with_overdue_taxes\n      # ...\n    end\n    memoize :with_overdue_taxes\n  end\n\nend\n```\n\nWhen a sub-class overrides one of its parent's methods and you need to memoize both.\nThen you can use the `:identifier` parameter in order to help _Memoist_ distinguish between the two.\n\n```ruby\nclass Clock\n  extend Memoist\n  def now\n     \"The time now is #{Time.now.hour} o'clock and #{Time.now.min} minutes\"\n  end\n  memoize :now\nend\n\nclass AccurateClock \u003c Clock\n  extend Memoist\n  def now\n    \"#{super} and #{Time.now.sec} seconds\"\n  end\n  memoize :now, :identifier =\u003e :accurate_clock\nend\n```\n\n## Reload\n\nEach memoized function comes with a way to flush the existing value.\n\n```ruby\nperson.social_security       # returns the memoized value\nperson.social_security(true) # bypasses the memoized value and rememoizes it\n```\n\nThis also works with a memoized method with arguments\n\n```ruby\nperson.taxes_due(100_000)       # returns the memoized value\nperson.taxes_due(100_000, true) # bypasses the memoized value and rememoizes it\n```\n\nIf you want to flush the entire memoization cache for an object\n\n```ruby\nperson.flush_cache   # returns an array of flushed memoized methods, e.g. [\"social_security\", \"some_method\"]\n```\n\n# Authors\n\nEveryone who contributed to it in the rails repository.\n\n- Joshua Peek\n- Tarmo Tänav\n- Jeremy Kemper\n- Eugene Pimenov\n- Xavier Noria\n- Niels Ganser\n- Carl Lerche \u0026 Yehuda Katz\n- jeem\n- Jay Pignata\n- Damien Mathieu\n- José Valim\n- Matthew Rudy Jacobs\n\n# Contributing\n\n1. Fork it ( https://github.com/matthewrudy/memoist/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n# License\n\nReleased under the [MIT License](http://www.opensource.org/licenses/MIT), just as Ruby on Rails is.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activejob","activerecord","mvc","rubygems","rspec","static-code-analysis","code-formatter","rubocop","rack","omniauth"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/172","html_url":"https://ruby.ecosyste.ms/projects/172"}