{"id":44,"name":null,"description":"Predicate logic with rule composition","url":"https://github.com/dry-rb/dry-logic","last_synced_at":"2026-04-30T16:30:31.639Z","repository":{"id":3422570,"uuid":"49417543","full_name":"dry-rb/dry-logic","owner":"dry-rb","description":"Predicate logic with rule composition","archived":false,"fork":false,"pushed_at":"2026-04-27T20:03:57.000Z","size":804,"stargazers_count":179,"open_issues_count":3,"forks_count":63,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-04-28T00:21:19.907Z","etag":null,"topics":["dry-rb","gem","library","predicate-logic","predicates","ruby","rubygem","rule-engine"],"latest_commit_sha":null,"homepage":"https://dry-rb.org/gems/dry-logic/","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/dry-rb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hanami"}},"created_at":"2016-01-11T10:02:44.000Z","updated_at":"2026-04-27T20:04:01.000Z","dependencies_parsed_at":"2026-02-11T02:02:23.249Z","dependency_job_id":null,"html_url":"https://github.com/dry-rb/dry-logic","commit_stats":{"total_commits":755,"total_committers":45,"mean_commits":16.77777777777778,"dds":0.7019867549668874,"last_synced_commit":"3f1f1deff9a600179cec0b507f85b34583a0b50d"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/dry-rb/dry-logic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/sbom","scorecard":{"id":357232,"data":{"date":"2025-08-11","repo":{"name":"github.com/dry-rb/dry-logic","commit":"641fed9d328ab59295d26865741fc77a0979c3e2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"checks":[{"name":"Code-Review","score":1,"reason":"Found 3/27 approved changesets -- score normalized to 1","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":"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":"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":"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":"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":"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:41: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docsite.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docsite.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction 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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/docsite.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/rubocop.yml:10","Warn: no topLevel permission defined: .github/workflows/sync_configs.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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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 'main'"],"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 6 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-18T09:54:26.893Z","repository_id":3422570,"created_at":"2025-08-18T09:54:26.893Z","updated_at":"2025-08-18T09:54:26.893Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32375625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"dry-rb","name":"dry-rb","uuid":"11280820","kind":"organization","description":"dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task","email":null,"website":"https://dry-rb.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11280820?v=4","repositories_count":40,"last_synced_at":"2024-03-25T21:11:49.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/dry-rb","funding_links":[],"total_stars":8147,"followers":272,"following":0,"created_at":"2022-11-02T16:40:56.529Z","updated_at":"2024-03-25T21:11:50.787Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb/repositories"},"packages":[{"id":13530200,"name":"ruby-dry-logic","ecosystem":"debian","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:29:30.250Z","latest_release_published_at":"2026-02-10T23:29:30.250Z","latest_release_number":"1.0.5-2","last_synced_at":"2026-03-13T08:29:16.454Z","created_at":"2026-02-10T23:29:30.052Z","updated_at":"2026-03-13T08:29:16.454Z","registry_url":"https://tracker.debian.org/pkg/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":"https://packages.debian.org/bullseye/ruby-dry-logic","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-dry-logic","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 (\u003e= 1), rake, ruby-concurrent (\u003e= 1.0), ruby-dry-core (\u003e= 0.2), ruby-dry-equalizer (\u003e= 0.2), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:26:34.143Z","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-dry-logic?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye","funded_packages_count":77},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-01T06:53:20.333Z","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":194393,"name":"dry-logic","ecosystem":"rubygems","description":"Predicate logic with rule composition","homepage":"https://dry-rb.org/gems/dry-logic","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":[],"namespace":null,"versions_count":31,"first_release_published_at":"2016-01-11T10:57:37.616Z","latest_release_published_at":"2025-01-04T19:22:53.212Z","latest_release_number":"1.6.0","last_synced_at":"2026-04-09T04:02:11.790Z","created_at":"2022-04-05T21:15:22.281Z","updated_at":"2026-04-09T04:02:11.790Z","registry_url":"https://rubygems.org/gems/dry-logic","install_command":"gem install dry-logic -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/dry-logic/","metadata":{"funding":null},"repo_metadata":{"id":3422570,"uuid":"49417543","full_name":"dry-rb/dry-logic","owner":"dry-rb","description":"Predicate logic with rule composition","archived":false,"fork":false,"pushed_at":"2024-07-07T19:40:30.000Z","size":746,"stargazers_count":179,"open_issues_count":4,"forks_count":66,"subscribers_count":18,"default_branch":"main","last_synced_at":"2024-07-24T17:16:22.924Z","etag":null,"topics":["dry-rb","gem","library","predicate-logic","predicates","ruby","rubygem","rule-engine"],"latest_commit_sha":null,"homepage":"https://dry-rb.org/gems/dry-logic/","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/dry-rb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"hanami"}},"created_at":"2016-01-11T10:02:44.000Z","updated_at":"2024-07-07T19:11:15.000Z","dependencies_parsed_at":"2024-01-13T20:56:30.389Z","dependency_job_id":"28568765-a6ef-478a-8f66-48ad1f536c38","html_url":"https://github.com/dry-rb/dry-logic","commit_stats":{"total_commits":742,"total_committers":43,"mean_commits":17.25581395348837,"dds":0.7318059299191375,"last_synced_commit":"0357b834fbd6249b22c2ec019b66378d18015de6"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":214144079,"owners_count":15689656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"dry-rb","name":"dry-rb","uuid":"11280820","kind":"organization","description":"dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task","email":null,"website":"https://dry-rb.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11280820?v=4","repositories_count":40,"last_synced_at":"2024-03-25T21:11:49.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/dry-rb","funding_links":[],"total_stars":8147,"followers":272,"following":0,"created_at":"2022-11-02T16:40:56.529Z","updated_at":"2024-03-25T21:11:50.787Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb/repositories"},"tags":[{"name":"v1.5.0","sha":"7ce436d58df03a8d6f1c8736178d8fa24ec79683","kind":"tag","published_at":"2022-11-24T18:32:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.5.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"6daf95b67f81afef464668de116c334ea6574967","kind":"tag","published_at":"2022-11-04T16:37:54.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.4.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"702d057ac8a08f5ee7dbce966d6c2051cc4e36bf","kind":"tag","published_at":"2022-10-15T05:22:33.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.3.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"19707f6cbad656108077587cf971879851058e44","kind":"tag","published_at":"2021-04-26T06:22:33.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.2.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"39a71c7fdf9df9ef3b5579da8f817d6b80ca2573","kind":"tag","published_at":"2021-04-14T12:52:03.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.1.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"3b168b311dc2a96ecdc1014313e5b112ff750ca7","kind":"tag","published_at":"2020-12-26T17:04:48.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.1.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.0/manifests"},{"name":"v1.0.8","sha":"9192cdab33217707a630b60d039b207d00c766bf","kind":"tag","published_at":"2020-09-28T08:48:18.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.8","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.8/manifests"},{"name":"v1.0.7","sha":"a9b4ba4afcc152d9eb63f24dcd0c2fe5b57ded0d","kind":"tag","published_at":"2020-08-13T10:32:37.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.7","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"c78044c591e9aef564cad96b75bd34fa925b3731","kind":"tag","published_at":"2020-02-10T18:58:11.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.6","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"39bd7aed6a9036c2550dae3f9c77d3bfda40f530","kind":"tag","published_at":"2019-11-06T22:19:23.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.5","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"0680ab0a53252a256b37f3cf763c986bb283a1aa","kind":"tag","published_at":"2019-11-06T19:39:26.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.4","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"fe2253829c866f93b827567bc7aedf1fd8e5a29f","kind":"tag","published_at":"2019-08-01T08:57:44.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"d2e9d9837bc192b6562096b184cbdb69fe5ffd7c","kind":"tag","published_at":"2019-06-13T18:54:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9d7873bad12ee78df478b2e353a130b88d49b40b","kind":"tag","published_at":"2019-06-04T13:58:53.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"28e1983d78cd310b73efc3572591438c42321f09","kind":"tag","published_at":"2019-04-23T15:27:26.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.0/manifests"},{"name":"v0.6.1","sha":"7993def0054c1cefdfa36526dda5afc48b8a00fa","kind":"tag","published_at":"2019-04-18T12:47:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.6.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"3eef9bb1ddc0a4fbd491a11f90b37a784bdbad4c","kind":"tag","published_at":"2019-04-04T09:40:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.6.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"423a9a592450f876ed6caa6633dd494b346a9eb0","kind":"tag","published_at":"2019-01-29T13:49:35.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.5.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"9d1ae6bc63e6c0a1bbd5159b3f9708f9eea5f7a3","kind":"tag","published_at":"2017-09-15T16:53:15.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"fd5d60d21c3bb3544340b14d5a1346b8442f3082","kind":"tag","published_at":"2017-01-23T17:45:38.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"8e85da2f9177fc181405eb436ba1600eb01a3e40","kind":"tag","published_at":"2016-09-21T05:06:14.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"9d4d6043103d993f063a64d17b9796f7232d70b2","kind":"tag","published_at":"2016-07-01T10:59:50.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.3.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"201de80e6a3f359f9836a86fc56be6cb65ddae16","kind":"commit","published_at":"2016-05-11T20:05:06.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"557c0e2cd08ae258ef868d1679b7ebba82a4a85d","kind":"tag","published_at":"2016-03-30T12:46:14.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"b06c6b10444ea06573e8f5dfd572b69dfda06bd1","kind":"tag","published_at":"2016-03-20T12:24:25.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"e30c3b38b4414c7190bfd3f761e0dc500e5f1f66","kind":"tag","published_at":"2016-03-11T13:06:41.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"f8aa1815404c774812fc88d390fe722e22d4d2e6","kind":"tag","published_at":"2016-01-27T16:32:44.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.4","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.4/manifests"},{"name":"v0.1.2","sha":"dba155102157ad752c272b17ee8a35b462b1c89d","kind":"tag","published_at":"2016-01-27T13:59:25.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.2/manifests"},{"name":"v0.1.3","sha":"200c34437d8cb6bcb6b1f0c2a7de6ad6541424f7","kind":"tag","published_at":"2016-01-27T13:54:55.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.3/manifests"},{"name":"v0.1.1","sha":"e1488c94f793393724bf3a51277cbcdd1323d981","kind":"tag","published_at":"2016-01-18T15:00:30.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"dfbaa719ecc03c66af13413e3396a94aa2c0eaf5","kind":"tag","published_at":"2016-01-11T10:53:23.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T21:57:45.175Z","dependent_packages_count":19,"downloads":197708205,"downloads_period":"total","dependent_repos_count":5189,"rankings":{"downloads":0.17004716718145427,"dependent_repos_count":0.4382199128020428,"dependent_packages_count":1.0938771869180763,"stargazers_count":4.193195883185959,"forks_count":3.32456150132135,"docker_downloads_count":0.19625115687826852,"average":1.5693588013811919},"purl":"pkg:gem/dry-logic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/dry-logic","docker_dependents_count":259,"docker_downloads_count":602105581,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/dry-logic/dependencies","status":null,"funding_links":["https://github.com/sponsors/hanami"],"critical":true,"issue_metadata":{"last_synced_at":"2024-10-29T17:32:17.024Z","issues_count":23,"pull_requests_count":81,"avg_time_to_close_issue":33833386.77272727,"avg_time_to_close_pull_request":3907345.1666666665,"issues_closed_count":22,"pull_requests_closed_count":78,"pull_request_authors_count":44,"issue_authors_count":18,"avg_comments_per_issue":3.3043478260869565,"avg_comments_per_pull_request":1.9135802469135803,"merged_pull_requests_count":64,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":84541.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/issues","maintainers":[{"login":"solnic","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/solnic"},{"login":"flash-gordon","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flash-gordon"},{"login":"oleander","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oleander"},{"login":"GustavoCaso","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GustavoCaso"},{"login":"waiting-for-dev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/waiting-for-dev"},{"login":"robhanlon22","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/robhanlon22"},{"login":"skryukov","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/skryukov"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dry-logic/codemeta","maintainers":[{"uuid":"43616","login":"solnic","name":null,"email":null,"url":null,"packages_count":110,"html_url":"https://rubygems.org/profiles/solnic","role":null,"created_at":"2022-11-08T09:38:49.365Z","updated_at":"2022-11-08T09:38:49.365Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/solnic/packages"},{"uuid":"648","login":"timriley","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/timriley","role":null,"created_at":"2022-11-08T09:38:49.373Z","updated_at":"2022-11-08T09:38:49.373Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/timriley/packages"},{"uuid":"143772","login":"dry-bot","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://rubygems.org/profiles/dry-bot","role":null,"created_at":"2022-11-08T09:38:49.397Z","updated_at":"2022-11-08T09:38:49.397Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/dry-bot/packages"},{"uuid":"67536","login":"AMHOL","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://rubygems.org/profiles/AMHOL","role":null,"created_at":"2022-11-08T09:38:49.381Z","updated_at":"2022-11-08T09:38:49.381Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/AMHOL/packages"},{"uuid":"101145","login":"flash-gordon","name":null,"email":null,"url":null,"packages_count":39,"html_url":"https://rubygems.org/profiles/flash-gordon","role":null,"created_at":"2022-11-08T09:38:49.389Z","updated_at":"2022-11-08T09:38:49.389Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/flash-gordon/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":204882,"maintainers_count":68287,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13804248,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:18:20.321Z","latest_release_published_at":"2026-02-13T18:18:20.321Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-14T03:13:26.737Z","created_at":"2026-02-13T18:18:20.104Z","updated_at":"2026-03-14T03:13:26.738Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:19:29.922Z","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-dry-logic?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":412},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-01T06:53:18.736Z","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":13750971,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:12:44.820Z","latest_release_published_at":"2026-02-13T07:12:44.820Z","latest_release_number":"1.0.5-2","last_synced_at":"2026-03-13T20:21:37.102Z","created_at":"2026-02-13T07:12:44.662Z","updated_at":"2026-03-13T20:21:37.103Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","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 (\u003e= 1), rake, ruby-concurrent (\u003e= 1.0), ruby-dry-core (\u003e= 0.2), ruby-dry-equalizer (\u003e= 0.2), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:12:45.459Z","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-dry-logic?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal","funded_packages_count":142},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-01T06:53:15.590Z","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":13566327,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:38:22.729Z","latest_release_published_at":"2026-02-11T06:38:22.729Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-11T14:11:47.768Z","created_at":"2026-02-11T06:38:22.564Z","updated_at":"2026-03-11T14:11:47.768Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:56:17.349Z","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-dry-logic?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":99},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-01T06:53:19.375Z","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":13466591,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:27:58.310Z","latest_release_published_at":"2026-02-09T16:27:58.310Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-09T17:05:05.461Z","created_at":"2026-02-09T16:27:57.721Z","updated_at":"2026-03-09T17:32:24.431Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-dry-logic?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":177},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-03-31T06:41:18.525Z","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":13778731,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:16:01.342Z","latest_release_published_at":"2026-02-13T13:16:01.342Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-13T22:41:47.052Z","created_at":"2026-02-13T13:16:01.080Z","updated_at":"2026-03-13T22:41:47.052Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:16:01.929Z","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-dry-logic?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy","funded_packages_count":142},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-01T06:53:21.644Z","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":12217419,"name":"dry-logic","ecosystem":"rubygems","description":"Predicate logic with rule composition","homepage":"https://dry-rb.org/gems/dry-logic","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":[],"namespace":null,"versions_count":31,"first_release_published_at":"2016-01-11T10:57:37.616Z","latest_release_published_at":"2025-01-04T19:22:53.212Z","latest_release_number":"1.6.0","last_synced_at":"2026-04-08T09:22:41.449Z","created_at":"2025-10-07T02:34:24.580Z","updated_at":"2026-04-08T10:10:51.718Z","registry_url":"https://gem.coop/gems/dry-logic","install_command":"gem install dry-logic -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/dry-logic/","metadata":{"funding":null},"repo_metadata":{"id":3422570,"uuid":"49417543","full_name":"dry-rb/dry-logic","owner":"dry-rb","description":"Predicate logic with rule composition","archived":false,"fork":false,"pushed_at":"2026-03-22T08:10:32.000Z","size":802,"stargazers_count":179,"open_issues_count":3,"forks_count":63,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-03-28T04:52:58.367Z","etag":null,"topics":["dry-rb","gem","library","predicate-logic","predicates","ruby","rubygem","rule-engine"],"latest_commit_sha":null,"homepage":"https://dry-rb.org/gems/dry-logic/","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/dry-rb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hanami"}},"created_at":"2016-01-11T10:02:44.000Z","updated_at":"2026-03-22T08:10:35.000Z","dependencies_parsed_at":"2026-02-11T02:02:23.249Z","dependency_job_id":null,"html_url":"https://github.com/dry-rb/dry-logic","commit_stats":{"total_commits":755,"total_committers":45,"mean_commits":16.77777777777778,"dds":0.7019867549668874,"last_synced_commit":"3f1f1deff9a600179cec0b507f85b34583a0b50d"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/dry-rb/dry-logic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/sbom","scorecard":{"id":357232,"data":{"date":"2025-08-11","repo":{"name":"github.com/dry-rb/dry-logic","commit":"641fed9d328ab59295d26865741fc77a0979c3e2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"checks":[{"name":"Code-Review","score":1,"reason":"Found 3/27 approved changesets -- score normalized to 1","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":"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":"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":"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":"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":"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:41: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docsite.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docsite.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction 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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/docsite.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/rubocop.yml:10","Warn: no topLevel permission defined: .github/workflows/sync_configs.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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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 'main'"],"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 6 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-18T09:54:26.893Z","repository_id":3422570,"created_at":"2025-08-18T09:54:26.893Z","updated_at":"2025-08-18T09:54:26.893Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31262837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T01:56:54.585Z","status":"online","status_checked_at":"2026-04-01T02:00:07.777Z","response_time":53,"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":"dry-rb","name":"dry-rb","uuid":"11280820","kind":"organization","description":"dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task","email":null,"website":"https://dry-rb.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11280820?v=4","repositories_count":40,"last_synced_at":"2024-03-25T21:11:49.208Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/dry-rb","funding_links":[],"total_stars":8147,"followers":272,"following":0,"created_at":"2022-11-02T16:40:56.529Z","updated_at":"2024-03-25T21:11:50.787Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb/repositories"},"tags":[{"name":"v1.6.0","sha":"a236a39464dc8e907fd5beeba3f783212406c916","kind":"tag","published_at":"2025-01-04T19:21:59.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.6.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"7ce436d58df03a8d6f1c8736178d8fa24ec79683","kind":"tag","published_at":"2022-11-24T18:32:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.5.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"6daf95b67f81afef464668de116c334ea6574967","kind":"tag","published_at":"2022-11-04T16:37:54.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.4.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"702d057ac8a08f5ee7dbce966d6c2051cc4e36bf","kind":"tag","published_at":"2022-10-15T05:22:33.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.3.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"19707f6cbad656108077587cf971879851058e44","kind":"tag","published_at":"2021-04-26T06:22:33.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.2.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"39a71c7fdf9df9ef3b5579da8f817d6b80ca2573","kind":"tag","published_at":"2021-04-14T12:52:03.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.1.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"3b168b311dc2a96ecdc1014313e5b112ff750ca7","kind":"tag","published_at":"2020-12-26T17:04:48.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.1.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.1.0/manifests"},{"name":"v1.0.8","sha":"9192cdab33217707a630b60d039b207d00c766bf","kind":"tag","published_at":"2020-09-28T08:48:18.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.8","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.8/manifests"},{"name":"v1.0.7","sha":"a9b4ba4afcc152d9eb63f24dcd0c2fe5b57ded0d","kind":"tag","published_at":"2020-08-13T10:32:37.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.7","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"c78044c591e9aef564cad96b75bd34fa925b3731","kind":"tag","published_at":"2020-02-10T18:58:11.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.6","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"39bd7aed6a9036c2550dae3f9c77d3bfda40f530","kind":"tag","published_at":"2019-11-06T22:19:23.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.5","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"0680ab0a53252a256b37f3cf763c986bb283a1aa","kind":"tag","published_at":"2019-11-06T19:39:26.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.4","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"fe2253829c866f93b827567bc7aedf1fd8e5a29f","kind":"tag","published_at":"2019-08-01T08:57:44.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"d2e9d9837bc192b6562096b184cbdb69fe5ffd7c","kind":"tag","published_at":"2019-06-13T18:54:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9d7873bad12ee78df478b2e353a130b88d49b40b","kind":"tag","published_at":"2019-06-04T13:58:53.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"28e1983d78cd310b73efc3572591438c42321f09","kind":"tag","published_at":"2019-04-23T15:27:26.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v1.0.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v1.0.0/manifests"},{"name":"v0.6.1","sha":"7993def0054c1cefdfa36526dda5afc48b8a00fa","kind":"tag","published_at":"2019-04-18T12:47:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.6.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"3eef9bb1ddc0a4fbd491a11f90b37a784bdbad4c","kind":"tag","published_at":"2019-04-04T09:40:49.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.6.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"423a9a592450f876ed6caa6633dd494b346a9eb0","kind":"tag","published_at":"2019-01-29T13:49:35.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.5.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"9d1ae6bc63e6c0a1bbd5159b3f9708f9eea5f7a3","kind":"tag","published_at":"2017-09-15T16:53:15.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"fd5d60d21c3bb3544340b14d5a1346b8442f3082","kind":"tag","published_at":"2017-01-23T17:45:38.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"8e85da2f9177fc181405eb436ba1600eb01a3e40","kind":"tag","published_at":"2016-09-21T05:06:14.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.4.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"9d4d6043103d993f063a64d17b9796f7232d70b2","kind":"tag","published_at":"2016-07-01T10:59:50.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.3.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"201de80e6a3f359f9836a86fc56be6cb65ddae16","kind":"commit","published_at":"2016-05-11T20:05:06.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"557c0e2cd08ae258ef868d1679b7ebba82a4a85d","kind":"tag","published_at":"2016-03-30T12:46:14.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"b06c6b10444ea06573e8f5dfd572b69dfda06bd1","kind":"tag","published_at":"2016-03-20T12:24:25.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"e30c3b38b4414c7190bfd3f761e0dc500e5f1f66","kind":"tag","published_at":"2016-03-11T13:06:41.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.2.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"f8aa1815404c774812fc88d390fe722e22d4d2e6","kind":"tag","published_at":"2016-01-27T16:32:44.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.4","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.4/manifests"},{"name":"v0.1.2","sha":"dba155102157ad752c272b17ee8a35b462b1c89d","kind":"tag","published_at":"2016-01-27T13:59:25.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.2","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.2/manifests"},{"name":"v0.1.3","sha":"200c34437d8cb6bcb6b1f0c2a7de6ad6541424f7","kind":"tag","published_at":"2016-01-27T13:54:55.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.3","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.3/manifests"},{"name":"v0.1.1","sha":"e1488c94f793393724bf3a51277cbcdd1323d981","kind":"tag","published_at":"2016-01-18T15:00:30.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.1","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"dfbaa719ecc03c66af13413e3396a94aa2c0eaf5","kind":"tag","published_at":"2016-01-11T10:53:23.000Z","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/v0.1.0","html_url":"https://github.com/dry-rb/dry-logic/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/dry-rb/dry-logic@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-08T10:10:51.691Z","dependent_packages_count":0,"downloads":197514750,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.14382032191962282,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":0.04794010730654094},"purl":"pkg:gem/dry-logic?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/dry-logic","docker_dependents_count":259,"docker_downloads_count":602105581,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/dry-logic/dependencies","status":null,"funding_links":["https://github.com/sponsors/hanami"],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-23T08:02:07.425Z","issues_count":23,"pull_requests_count":85,"avg_time_to_close_issue":33833386.77272727,"avg_time_to_close_pull_request":6468082.297619048,"issues_closed_count":22,"pull_requests_closed_count":84,"pull_request_authors_count":44,"issue_authors_count":18,"avg_comments_per_issue":3.3043478260869565,"avg_comments_per_pull_request":1.8705882352941177,"merged_pull_requests_count":67,"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/dry-rb%2Fdry-logic/issues","maintainers":[{"login":"solnic","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/solnic"},{"login":"flash-gordon","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flash-gordon"},{"login":"oleander","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oleander"},{"login":"GustavoCaso","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GustavoCaso"},{"login":"waiting-for-dev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/waiting-for-dev"},{"login":"skryukov","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/skryukov"},{"login":"robhanlon22","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/robhanlon22"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dry-logic/codemeta","maintainers":[{"uuid":"648","login":"timriley","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://gem.coop/profiles/timriley","role":null,"created_at":"2025-10-07T16:21:26.278Z","updated_at":"2025-10-07T16:21:26.278Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/timriley/packages"},{"uuid":"143772","login":"dry-bot","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://gem.coop/profiles/dry-bot","role":null,"created_at":"2025-10-07T16:21:26.438Z","updated_at":"2025-10-07T16:21:26.438Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/dry-bot/packages"},{"uuid":"101145","login":"flash-gordon","name":null,"email":null,"url":null,"packages_count":40,"html_url":"https://gem.coop/profiles/flash-gordon","role":null,"created_at":"2025-10-07T16:21:26.376Z","updated_at":"2025-10-07T16:21:26.376Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/flash-gordon/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":189733,"maintainers_count":67294,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13721746,"name":"ruby-dry-logic","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T01:02:48.924Z","latest_release_published_at":"2026-02-13T01:02:48.924Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-13T02:09:18.259Z","created_at":"2026-02-13T01:02:48.721Z","updated_at":"2026-03-13T02:33:48.843Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":3422570,"uuid":"49417543","full_name":"dry-rb/dry-logic","owner":"dry-rb","description":"Predicate logic with rule composition","archived":false,"fork":false,"pushed_at":"2026-02-02T18:29:45.000Z","size":802,"stargazers_count":179,"open_issues_count":3,"forks_count":63,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-02-11T02:42:49.676Z","etag":null,"topics":["dry-rb","gem","library","predicate-logic","predicates","ruby","rubygem","rule-engine"],"latest_commit_sha":null,"homepage":"https://dry-rb.org/gems/dry-logic/","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/dry-rb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hanami"}},"created_at":"2016-01-11T10:02:44.000Z","updated_at":"2026-02-02T18:29:48.000Z","dependencies_parsed_at":"2026-02-11T02:02:23.249Z","dependency_job_id":null,"html_url":"https://github.com/dry-rb/dry-logic","commit_stats":{"total_commits":755,"total_committers":45,"mean_commits":16.77777777777778,"dds":0.7019867549668874,"last_synced_commit":"3f1f1deff9a600179cec0b507f85b34583a0b50d"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/dry-rb/dry-logic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dry-rb","download_url":"https://codeload.github.com/dry-rb/dry-logic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/sbom","scorecard":{"id":357232,"data":{"date":"2025-08-11","repo":{"name":"github.com/dry-rb/dry-logic","commit":"641fed9d328ab59295d26865741fc77a0979c3e2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"checks":[{"name":"Code-Review","score":1,"reason":"Found 3/27 approved changesets -- score normalized to 1","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":"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":"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":"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":"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":"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:41: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docsite.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docsite.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/docsite.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/rubocop.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync_configs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-rb/dry-logic/sync_configs.yml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction 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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/docsite.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/rubocop.yml:10","Warn: no topLevel permission defined: .github/workflows/sync_configs.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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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 'main'"],"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 6 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-18T09:54:26.893Z","repository_id":3422570,"created_at":"2025-08-18T09:54:26.893Z","updated_at":"2025-08-18T09:54:26.893Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29390646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T00:53:09.511Z","status":"ssl_error","status_checked_at":"2026-02-13T00:53:09.126Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2026-02-13T01:03:11.201Z","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":1.5171822226987617,"forks_count":1.2357261566504048,"docker_downloads_count":null,"average":0.6882270948372916},"purl":"pkg:deb/ubuntu/ruby-dry-logic?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-dry-logic/dependencies","status":null,"funding_links":["https://github.com/sponsors/hanami"],"critical":null,"issue_metadata":{"last_synced_at":"2026-01-09T10:01:38.504Z","issues_count":23,"pull_requests_count":85,"avg_time_to_close_issue":33833386.77272727,"avg_time_to_close_pull_request":6468082.297619048,"issues_closed_count":22,"pull_requests_closed_count":84,"pull_request_authors_count":44,"issue_authors_count":18,"avg_comments_per_issue":3.3043478260869565,"avg_comments_per_pull_request":1.8705882352941177,"merged_pull_requests_count":67,"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/dry-rb%2Fdry-logic/issues","maintainers":[{"login":"solnic","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/solnic"},{"login":"flash-gordon","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flash-gordon"},{"login":"oleander","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oleander"},{"login":"GustavoCaso","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GustavoCaso"},{"login":"waiting-for-dev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/waiting-for-dev"},{"login":"skryukov","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/skryukov"},{"login":"robhanlon22","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/robhanlon22"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble","funded_packages_count":161},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-01T06:53:16.927Z","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":13712273,"name":"ruby-dry-logic","ecosystem":"debian","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:28:27.127Z","latest_release_published_at":"2026-02-12T23:28:27.127Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-13T03:28:45.045Z","created_at":"2026-02-12T23:28:26.964Z","updated_at":"2026-03-13T03:28:45.045Z","registry_url":"https://tracker.debian.org/pkg/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":"https://packages.debian.org/bookworm/ruby-dry-logic","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:28:27.824Z","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-dry-logic?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":364},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-01T06:53:23.701Z","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":13668815,"name":"ruby-dry-logic","ecosystem":"debian","description":null,"homepage":"https://github.com/dry-rb/dry-logic","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/dry-rb/dry-logic","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:21:49.439Z","latest_release_published_at":"2026-02-12T12:21:49.439Z","latest_release_number":"1.2.0-3","last_synced_at":"2026-03-14T18:07:51.419Z","created_at":"2026-02-12T12:21:49.157Z","updated_at":"2026-03-14T18:07:51.419Z","registry_url":"https://tracker.debian.org/pkg/ruby-dry-logic","install_command":"apt-get install ruby-dry-logic","documentation_url":"https://packages.debian.org/trixie/ruby-dry-logic","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-dry-logic","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-concurrent, ruby-dry-core (\u003e= 0.5), ruby-rspec, ruby-warning","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:23:00.420Z","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-dry-logic?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-dry-logic","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-dry-logic","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-dry-logic/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-dry-logic/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-dry-logic/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-dry-logic/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-dry-logic/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-dry-logic/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie","funded_packages_count":282},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-03-31T06:41:13.743Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}}],"commits":{"id":19110,"full_name":"dry-rb/dry-logic","default_branch":"main","total_commits":815,"total_committers":48,"total_bot_commits":34,"total_bot_committers":1,"mean_commits":16.979166666666668,"dds":0.7239263803680982,"past_year_total_commits":39,"past_year_total_committers":3,"past_year_total_bot_commits":34,"past_year_total_bot_committers":1,"past_year_mean_commits":13.0,"past_year_dds":0.1282051282051282,"last_synced_at":"2026-04-07T05:05:51.721Z","last_synced_commit":"62fd18e2cdd0e2a056cc2ba6cf4dc5cdf7c8dbca","created_at":"2023-03-07T11:40:00.301Z","updated_at":"2026-04-07T05:03:29.581Z","committers":[{"name":"Piotr Solnica","email":"piotr.solnica@gmail.com","login":"solnic","count":225},{"name":"dry-bot","email":"dry-bot@dry-rb.org","login":"dry-bot","count":183},{"name":"File Sync","email":"file-sync@action-hero.dev","login":null,"count":104},{"name":"Nikita Shilnikov","email":"fg@flashgordon.ru","login":"flash-gordon","count":96},{"name":"Piotr Solnica","email":"piotr.solnica+oss@gmail.com","login":null,"count":34},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":34},{"name":"Linus Oleander","email":"linus@oleander.io","login":"oleander","count":28},{"name":"Fran Worley","email":"frances@safetytoolbox.co.uk","login":"fran-worley","count":17},{"name":"Action Hero","email":"bot@action-hero.app","login":null,"count":15},{"name":"File Sync","email":"github@repobot.app","login":null,"count":14},{"name":"GitHub Action","email":"action@github.com","login":"actions-user","count":5},{"name":"GustavoCaso","email":"gustavocaso@gmail.com","login":"GustavoCaso","count":4},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":4},{"name":"Adam Lassek","email":"adam@doubleprime.net","login":"alassek","count":3},{"name":"Anton","email":"anton.estum@gmail.com","login":"estum","count":3},{"name":"Brian Malinconico","email":"bmalinconico@terminus.com","login":"bmalinconico","count":3},{"name":"Kamil Dubil","email":"dubilkamil@gmail.com","login":"k-dubil","count":3},{"name":"Marc Busqué","email":"marc@lamarciana.com","login":"waiting-for-dev","count":3},{"name":"Tim Riley","email":"tim@riley.id.au","login":"timriley","count":3},{"name":"File Sync","email":"file-sync@repobot-app.dev","login":null,"count":2},{"name":"Kamil K. Lemański","email":"kamil.lemanski@gmail.com","login":"kml","count":2},{"name":"James Brauman","email":"james.22au@gmail.com","login":"jamesbrauman","count":2},{"name":"James Tippett","email":"james.tippett@gmail.com","login":"jtippett","count":2},{"name":"Ryan Bigg","email":"me@ryanbigg.com","login":"radar","count":2},{"name":"hieuk09","email":"hieuk09@gmail.com","login":"hieuk09","count":1},{"name":"deepj","email":"deepjungle.maca@gmail.com","login":"deepj","count":1},{"name":"Unknown","email":"nerburish@gmail.com","login":"nerburish","count":1},{"name":"Ted Johansson","email":"drenmi@gmail.com","login":"Drenmi","count":1},{"name":"Alexey Zhaboyedov","email":"zhaboyedov@mlsdev.com","login":null,"count":1},{"name":"Peter Suschlik","email":"ps@neopoly.de","login":null,"count":1},{"name":"Ralf Schmitz Bongiolo","email":"ralfsb2008@gmail.com","login":null,"count":1},{"name":"Tadeusz Niemiec","email":"tadeusz@applover.pl","login":null,"count":1},{"name":"Thomas Himbert","email":"thomas@company-mood.com","login":null,"count":1},{"name":"Svyatoslav Kryukov","email":"s.g.kryukov@yandex.ru","login":"skryukov","count":1},{"name":"Pedro Furtado","email":"pedro.felipe.azevedo.furtado@gmail.com","login":"pedrofurtado","count":1},{"name":"Paweł Świątkowski","email":"inquebrantable@gmail.com","login":"katafrakt","count":1},{"name":"Pair","email":"ttdonovan@gmail.com","login":"ttdonovan","count":1},{"name":"Lucas Caton","email":"lucascaton@gmail.com","login":"lucascaton","count":1},{"name":"Leonardo Lobo Lima","email":"dleemoo@gmail.com","login":"dleemoo","count":1},{"name":"Keith Bennett","email":"keithrbennett@gmail.com","login":"keithrbennett","count":1},{"name":"Igor Khodyrev","email":"igor.khodyrev.411@gmail.com","login":"hwo411","count":1},{"name":"George Millo","email":"georgejulianmillo@gmail.com","login":"george-carlin","count":1},{"name":"Espartaco Palma","email":"esparta@gmail.com","login":"esparta","count":1},{"name":"David Grayson","email":"davidegrayson@gmail.com","login":"DavidEGrayson","count":1},{"name":"David Carlin","email":"david.carlin@cultureamp.com","login":"davich","count":1},{"name":"Andy Holland","email":"andyholland1991@aol.com","login":"AMHOL","count":1},{"name":"Andriy Savchenko","email":"andrey@aejis.eu","login":"Ptico","count":1},{"name":"Allan Quatermain","email":"allanq1885@gmail.com","login":"AllanQ","count":1}],"past_year_committers":[{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":34},{"name":"Adam Lassek","email":"adam@doubleprime.net","login":"alassek","count":3},{"name":"Tim Riley","email":"tim@riley.id.au","login":"timriley","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212692,"commits_count":914220673,"contributors_count":35302249,"owners_count":1143377,"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":"dry-rb/dry-logic","html_url":"https://github.com/dry-rb/dry-logic","last_synced_at":"2026-02-23T08:02:07.425Z","status":"error","issues_count":23,"pull_requests_count":85,"avg_time_to_close_issue":33833386.77272727,"avg_time_to_close_pull_request":6468082.297619048,"issues_closed_count":22,"pull_requests_closed_count":84,"pull_request_authors_count":44,"issue_authors_count":18,"avg_comments_per_issue":3.3043478260869565,"avg_comments_per_pull_request":1.8705882352941177,"merged_pull_requests_count":67,"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-12T10:03:35.241Z","updated_at":"2026-02-23T08:02:07.426Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-rb%2Fdry-logic/issues","issue_labels_count":{"help wanted":6,"bug":6,"feature":5,"docsite":1},"pull_request_labels_count":{"feature":1},"issue_author_associations_count":{"NONE":14,"MEMBER":5,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"CONTRIBUTOR":38,"MEMBER":26,"NONE":16,"COLLABORATOR":5},"issue_authors":{"solnic":3,"fran-worley":3,"GustavoCaso":2,"Kukunin":1,"coatezy":1,"ojab":1,"vladimirtemnikov":1,"kwando":1,"AnatolyShirykalov":1,"oded-zahavi":1,"dleidert":1,"zubin":1,"SandNerd":1,"Vasu1105":1,"radar":1,"backus":1,"casperisfine":1,"dgutov":1},"pull_request_authors":{"solnic":10,"flash-gordon":9,"fran-worley":5,"oleander":5,"olleolleolle":4,"Drenmi":3,"waiting-for-dev":3,"GustavoCaso":2,"jamesbrauman":2,"AllanQ":2,"dleidert":2,"k-dubil":2,"estum":2,"hwo411":2,"george-carlin":2,"kml":2,"lucascaton":1,"ttdonovan":1,"bmalinconico":1,"keithrbennett":1,"hieuk09":1,"splattael":1,"Ptico":1,"MaximeRDY":1,"matthewdavidlloyd":1,"dleemoo":1,"aristotelesbr":1,"tallica":1,"pedrofurtado":1,"casperisfine":1,"davich":1,"ncreuschling":1,"nerburish":1,"esparta":1,"CandyFet":1,"th1988":1,"mrbongiolo":1,"deepj":1,"joevandyk":1,"skryukov":1,"robhanlon22":1,"radar":1,"tadeusz-niemiec":1,"jtippett":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:09.463Z","repositories_count":14120142,"issues_count":34507206,"pull_requests_count":112678841,"authors_count":11228206,"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":"solnic","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/solnic"},{"login":"flash-gordon","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flash-gordon"},{"login":"oleander","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/oleander"},{"login":"GustavoCaso","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GustavoCaso"},{"login":"waiting-for-dev","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/waiting-for-dev"},{"login":"skryukov","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/skryukov"},{"login":"robhanlon22","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/robhanlon22"}],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":30,"PullRequestEvent":2,"IssueCommentEvent":2,"PushEvent":29,"CreateEvent":38},"last_year":{"DeleteEvent":30,"PullRequestEvent":1,"PushEvent":16,"CreateEvent":37}},"keywords":["dry-rb","gem","library","predicate-logic","predicates","ruby","rubygem","rule-engine"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-08-31T14:22:52.021Z","updated_at":"2022-08-31T14:22:52.021Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/Gemfile","dependencies":[{"id":3412702563,"package_name":"dry-core","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":3412702564,"package_name":"benchmark-ips","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":3412702565,"package_name":"hotch","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":3412702566,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"dry-logic.gemspec","sha":null,"kind":"manifest","created_at":"2022-08-31T14:22:52.206Z","updated_at":"2022-08-31T14:22:52.206Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/dry-logic.gemspec","dependencies":[{"id":3412702615,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false},{"id":3412702616,"package_name":"dry-core","ecosystem":"rubygems","requirements":"~\u003e 0.5, \u003e= 0.5","direct":true,"kind":"runtime","optional":false},{"id":3412702617,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"~\u003e 2.6","direct":true,"kind":"runtime","optional":false},{"id":3412702618,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":3412702619,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":3412702620,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T12:30:14.762Z","updated_at":"2023-01-13T12:30:14.762Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/.github/workflows/ci.yml","dependencies":[{"id":6875837010,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875837011,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/rubocop.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T12:30:15.035Z","updated_at":"2023-01-13T12:30:15.035Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/.github/workflows/rubocop.yml","dependencies":[{"id":6875837208,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875837209,"package_name":"technote-space/get-diff-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6875837210,"package_name":"repobot-app/actions/rubocop","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-comments.yml","sha":null,"kind":"manifest","created_at":"2026-02-11T02:02:22.552Z","updated_at":"2026-02-11T02:02:22.552Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/.github/workflows/pr-comments.yml","dependencies":[{"id":25815607037,"package_name":"hanakai-rb/repo-sync/pr-comments-from-artifacts","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/repo-sync-preview.yml","sha":null,"kind":"manifest","created_at":"2026-02-11T02:02:22.943Z","updated_at":"2026-02-11T02:02:22.943Z","repository_link":"https://github.com/dry-rb/dry-logic/blob/main/.github/workflows/repo-sync-preview.yml","dependencies":[{"id":25815607088,"package_name":"actions/github-script","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]}],"score":30.268127007879272,"created_at":"2024-12-15T21:38:06.842Z","updated_at":"2026-04-30T16:30:31.649Z","avatar_url":"https://github.com/dry-rb.png","language":"Ruby","monthly_downloads":0,"readme":"\u003c!--- This file is synced from hanakai-rb/repo-sync --\u003e\n\n[actions]: https://github.com/dry-rb/dry-logic/actions\n[chat]: https://discord.gg/naQApPAsZB\n[forum]: https://discourse.hanamirb.org\n[rubygem]: https://rubygems.org/gems/dry-logic\n\n# dry-logic [![Gem Version](https://badge.fury.io/rb/dry-logic.svg)][rubygem] [![CI Status](https://github.com/dry-rb/dry-logic/workflows/CI/badge.svg)][actions]\n\n[![Forum](https://img.shields.io/badge/Forum-dc360f?logo=discourse\u0026logoColor=white)][forum]\n[![Chat](https://img.shields.io/badge/Chat-717cf8?logo=discord\u0026logoColor=white)][chat]\n\n## Links\n\n- [User documentation](https://dry-rb.org/gems/dry-logic)\n- [API documentation](http://rubydoc.info/gems/dry-logic)\n- [Forum](https://discourse.dry-rb.org)\n\n## License\n\nSee `LICENSE` file.\n\n","funding_links":["https://github.com/sponsors/hanami"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["data-validation","coercion","type-safety","ruby-gem","constraints","schema-validation","settings","inflection","activerecord","mvc"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/44","html_url":"https://ruby.ecosyste.ms/projects/44"}