{"id":172,"name":null,"description":"ActiveSupport::Memoizable with a few enhancements","url":"https://github.com/matthewrudy/memoist","last_synced_at":"2026-09-24T17:34:10.329Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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":13804742,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-09-01T07:28:04.933Z","created_at":"2026-02-13T18:25:24.839Z","updated_at":"2026-09-01T07:28:04.933Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-27T17:36:19.737Z","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":{"last_synced_at":"2026-08-27T03:30:59.566Z","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/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":2211,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1771},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-09-24T05:06:39.659Z","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":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-09-23T17:03:01.774Z","created_at":"2025-10-07T04:14:20.398Z","updated_at":"2026-09-23T19:40:05.549Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-09-23T19:40:05.549Z","dependent_packages_count":0,"downloads":321801313,"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-09-23T17:03:00.491Z","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":196956,"maintainers_count":69199,"namespaces_count":0,"keywords_count":19809,"github":"gem-coop","metadata":{"funded_packages_count":8283},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-09-24T05:03:23.648Z","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":"mit","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-08-28T02:15:40.914Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-28T02:15:40.913Z","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":{"last_synced_at":"2026-08-27T03:30:59.566Z","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/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":999,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1579},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-09-24T05:06:41.742Z","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":13605733,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-07-26T11:04:19.502Z","created_at":"2026-02-11T11:22:33.978Z","updated_at":"2026-08-26T09:55:18.463Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-26T09:55:18.463Z","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":{"last_synced_at":"2026-08-26T03:02:08.565Z","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/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":903,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian","funded_packages_count":858},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-09-24T05:00:12.266Z","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":13669158,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-16T17:29:11.297Z","created_at":"2026-02-12T12:30:41.027Z","updated_at":"2026-08-16T17:29:11.298Z","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":{"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":923,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-07-27T10:07:48.600Z","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-06-30T10:10:49.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":36160602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-01T02:00:05.789Z","response_time":100,"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"}},"repo_metadata_updated_at":"2026-08-10T19:33:56.557Z","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":{"last_synced_at":"2026-08-06T17:31:02.503Z","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/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":38027,"maintainers_count":0,"namespaces_count":4,"keywords_count":1979,"github":"debian","metadata":{"codename":"trixie","funded_packages_count":2333},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-09-24T05:02:49.959Z","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"}},{"id":14513862,"name":"dev-ruby/memoist","ecosystem":"gentoo","description":"ActiveSupport::Memoizable with a few enhancements","homepage":"https://github.com/matthewrudy/memoist","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["amd64","~arm","~arm64","~hppa","~loong","~ppc","~ppc64","~riscv","~sparc","x86"],"namespace":"dev-ruby","versions_count":1,"first_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_number":"0.16.2-r1","last_synced_at":"2026-08-16T17:26:09.747Z","created_at":"2026-05-27T02:47:13.868Z","updated_at":"2026-08-16T17:26:09.747Z","registry_url":"https://packages.gentoo.org/packages/dev-ruby/memoist","install_command":"emerge dev-ruby/memoist","documentation_url":"https://packages.gentoo.org/packages/dev-ruby/memoist","metadata":{"category":"dev-ruby","slot":"0","eapi":"8","inherit":"ruby-fakegem","iuse":"ruby_targets_ruby32 ruby_targets_ruby33 ruby_targets_ruby34 ruby_targets_ruby40 doc test test"},"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":923,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-07-27T10:07:48.600Z","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-06-30T10:10:49.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":36160602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-01T02:00:05.789Z","response_time":100,"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"}},"repo_metadata_updated_at":"2026-08-10T19:33:56.491Z","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:gentoo/dev-ruby/memoist","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-ruby/memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-ruby/memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-ruby/memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-06T17:31:02.503Z","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/gentoo-portage/packages/dev-ruby%2Fmemoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fmemoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fmemoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fmemoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fmemoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fmemoist/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19553,"maintainers_count":0,"namespaces_count":174,"keywords_count":1054,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":807},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-09-24T05:05:33.056Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/namespaces"}},{"id":13406907,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-16T17:30:02.338Z","created_at":"2026-02-06T15:33:41.155Z","updated_at":"2026-08-16T17:47:09.066Z","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":{"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":923,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-07-27T10:07:48.600Z","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-06-30T10:10:49.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":36160602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-01T02:00:05.789Z","response_time":100,"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"}},"repo_metadata_updated_at":"2026-08-10T19:33:56.602Z","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":5.028681713397309,"forks_count":6.183991851176755,"docker_downloads_count":null,"average":2.803168391143516},"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":{"last_synced_at":"2026-08-06T17:31:02.503Z","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/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":1696,"github":"ubuntu","metadata":{"codename":"noble","funded_packages_count":1766},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-09-24T05:06:31.590Z","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":13530562,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-16T17:27:57.634Z","created_at":"2026-02-10T23:33:47.780Z","updated_at":"2026-08-26T16:01:47.478Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-26T16:01:47.478Z","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":{"last_synced_at":"2026-08-26T03:02:08.565Z","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/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":758,"github":"debian","metadata":{"codename":"bullseye","funded_packages_count":1148},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-09-24T05:06:45.798Z","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":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-07-31T04:02:29.715Z","created_at":"2026-02-13T13:20:18.676Z","updated_at":"2026-08-26T19:34:34.715Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-26T19:34:34.714Z","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":{"last_synced_at":"2026-08-26T03:02:08.565Z","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/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":1498,"github":"ubuntu","metadata":{"codename":"jammy","funded_packages_count":1389},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-09-24T05:06:35.971Z","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":13466965,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-16T17:29:17.166Z","created_at":"2026-02-09T16:53:43.891Z","updated_at":"2026-08-26T23:14:17.834Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-26T23:14:17.834Z","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":{"last_synced_at":"2026-08-26T03:02:08.565Z","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/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":1440,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1909},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-09-24T05:03:16.960Z","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":14528282,"name":"devel/ruby-memoist","ecosystem":"pkgsrc","description":"Replacement of memoizable, memoize methods invocation","homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/matthewrudy/memoist","keywords_array":["devel","ruby"],"namespace":"devel","versions_count":1,"first_release_published_at":"2026-04-06T12:07:05.000Z","latest_release_published_at":"2026-04-06T12:07:05.000Z","latest_release_number":"0.16.2","last_synced_at":"2026-09-06T18:29:04.603Z","created_at":"2026-05-27T06:46:21.488Z","updated_at":"2026-09-06T18:29:04.603Z","registry_url":"https://pkgsrc.se/devel/ruby-memoist","install_command":"pkg_add ruby33-memoist","documentation_url":"https://pkgsrc.se/devel/ruby-memoist","metadata":{"pkg_slug":"ruby-memoist","pkgbase":"ruby33-memoist","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"ruby33-memoist-0.16.2"},"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":923,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-07-27T10:07:48.600Z","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-06-30T10:10:49.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":36160602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-01T02:00:05.789Z","response_time":100,"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"}},"repo_metadata_updated_at":"2026-08-10T19:33:56.523Z","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:pkgsrc/devel/ruby-memoist?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/devel/ruby-memoist","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/devel/ruby-memoist","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/devel/ruby-memoist/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-06T17:31:02.503Z","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/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/devel%2Fruby-memoist/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19692,"maintainers_count":0,"namespaces_count":43,"keywords_count":368,"github":"pkgsrc","metadata":{"funded_packages_count":622},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-09-24T05:00:16.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":13751324,"name":"ruby-memoist","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-03T06:13:09.683Z","created_at":"2026-02-13T07:17:32.183Z","updated_at":"2026-08-27T09:24:18.216Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-27T09:24:18.216Z","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":{"last_synced_at":"2026-08-27T03:30:59.566Z","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/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":1425,"github":"ubuntu","metadata":{"codename":"focal","funded_packages_count":1046},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-09-24T05:06:37.536Z","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":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-09-23T17:03:03.195Z","created_at":"2023-12-02T02:11:45.112Z","updated_at":"2026-09-23T17:03:03.195Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-25T09:07:14.912Z","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":"2026-08-25T02:31:40.156Z","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":2517875,"maintainers_count":0,"namespaces_count":851035,"keywords_count":132805,"github":"golang","metadata":{"funded_packages_count":102361,"sync_missing_packages_cursor":{"timestamp":"2026-09-24T00:03:35.861773Z","path":"github.com/Termux/termux-packages","version":"v0.0.0-20240204004448-ea43e4d4dec9"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-09-24T05:02:38.736Z","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":13712756,"name":"ruby-memoist","ecosystem":"debian","description":null,"homepage":"https://github.com/matthewrudy/memoist","licenses":"mit","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-08-04T21:03:49.622Z","created_at":"2026-02-12T23:34:53.100Z","updated_at":"2026-08-29T22:25:45.680Z","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":{"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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-08-29T22:25:45.680Z","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":{"last_synced_at":"2026-08-29T04:31:04.054Z","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/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":2635,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":1650},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-09-24T05:06:43.955Z","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":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-09-23T17:03:01.770Z","created_at":"2022-04-06T04:12:06.359Z","updated_at":"2026-09-23T17:59:31.509Z","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":921,"open_issues_count":28,"forks_count":99,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-08-25T02:34:41.925Z","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-08-20T20:51:12.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":36896921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","response_time":104,"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-09-23T17:59:31.509Z","dependent_packages_count":187,"downloads":321801313,"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-09-22T16:32:59.417Z","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":212437,"maintainers_count":70211,"namespaces_count":0,"keywords_count":20264,"github":"rubygems","metadata":{"funded_packages_count":8552},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-09-24T05:02:45.531Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}}],"commits":{"id":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-09-23T03:12:53.748Z","last_synced_commit":"3ce2b0d38268ab8835e217d06b9a640ddd001311","created_at":"2023-03-07T09:17:02.930Z","updated_at":"2026-09-23T03:12:53.667Z","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-09-23T00:00:08.362Z","repositories_count":7629132,"commits_count":1164240841,"contributors_count":52451260,"owners_count":1557040,"committers_count":3613724,"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-09-23T17:03:00.491Z","status":null,"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-09-23T17:03:00.491Z","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-09-23T00:00:07.929Z","repositories_count":17559971,"issues_count":46832462,"pull_requests_count":145698067,"authors_count":11840277,"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,"IssueCommentEvent":1,"WatchEvent":9},"last_year":{}},"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.165530304264497,"created_at":"2024-12-15T21:38:07.191Z","updated_at":"2026-09-24T17:34:10.345Z","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","code-formatter","rubocop","static-code-analysis","rack","sidekiq"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/172","html_url":"https://ruby.ecosyste.ms/projects/172"}