{"id":42167,"name":"snaky_hash","description":"🐍 A Hashie::Mash joint to improve #snake_life for everyone","url":"https://github.com/ruby-oauth/snaky_hash","last_synced_at":"2025-09-05T09:16:10.034Z","repository":{"id":294550711,"uuid":"985891868","full_name":"ruby-oauth/snaky_hash","owner":"ruby-oauth","description":"🐍 A Hashie::Mash joint to improve #snake_life for everyone","archived":false,"fork":false,"pushed_at":"2025-08-21T16:50:42.000Z","size":311,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-24T00:24:51.719Z","etag":null,"topics":["hash","hashie","ruby","rubygem","underscore"],"latest_commit_sha":null,"homepage":"https://snaky-hash.galtzo.com/","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/ruby-oauth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"buy_me_a_coffee":"pboling","community_bridge":null,"github":["pboling"],"issuehunt":"pboling","ko_fi":"pboling","liberapay":"pboling","open_collective":"ruby-oauth","patreon":"galtzo","polar":"pboling","thanks_dev":"u/gh/pboling","tidelift":"rubygems/snaky_hash"}},"created_at":"2025-05-18T18:27:16.000Z","updated_at":"2025-08-21T16:50:45.000Z","dependencies_parsed_at":"2025-06-11T08:38:50.150Z","dependency_job_id":"2be90f7c-b941-41b7-afe8-c4692c67b3b6","html_url":"https://github.com/ruby-oauth/snaky_hash","commit_stats":null,"previous_names":["oauth-xx/snaky_hash","ruby-oauth/snaky_hash"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-oauth/snaky_hash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","download_url":"https://codeload.github.com/ruby-oauth/snaky_hash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271778562,"owners_count":24819274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ruby-oauth","name":"Ruby OAuth","uuid":"40009","kind":"organization","description":"Ruby Gems for building with OAuth v1.0, 2.0, 2.1 and OIDC","email":"floss@galtzo.com","website":"https://opencollective.com/ruby-oauth","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40009?v=4","repositories_count":9,"last_synced_at":"2025-09-02T15:53:03.464Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2899,"followers":18,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2025-09-02T15:53:03.465Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth/repositories"},"packages":[],"commits":{"id":10481818,"full_name":"ruby-oauth/snaky_hash","default_branch":"main","committers":[{"name":"Peter H. Boling","email":"peter.boling@gmail.com","login":"pboling","count":73},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"total_commits":74,"total_committers":2,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":37.0,"dds":0.013513513513513487,"past_year_committers":[{"name":"Peter H. Boling","email":"peter.boling@gmail.com","login":"pboling","count":48},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1}],"past_year_total_commits":49,"past_year_total_committers":2,"past_year_total_bot_commits":1,"past_year_total_bot_committers":1,"past_year_mean_commits":24.5,"past_year_dds":0.020408163265306145,"last_synced_at":"2025-09-02T10:32:35.842Z","last_synced_commit":"dda04a944bd0de4bbdd135a9f96213c3401772d6","created_at":"2025-06-27T16:30:23.753Z","updated_at":"2025-09-02T10:32:35.842Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.276Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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":"ruby-oauth/snaky_hash","html_url":"https://github.com/ruby-oauth/snaky_hash","last_synced_at":"2025-09-01T05:56:37.535Z","status":"error","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"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":"2025-06-27T16:30:24.141Z","updated_at":"2025-09-01T05:56:37.536Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Fsnaky_hash/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":1,"github_actions":1},"issue_author_associations_count":{},"pull_request_author_associations_count":{"NONE":1},"issue_authors":{},"pull_request_authors":{"dependabot[bot]":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-01T00:00:07.725Z","repositories_count":9907264,"issues_count":29121902,"pull_requests_count":83489158,"authors_count":8856002,"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":{"dependencies":1,"github_actions":1},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":1,"DeleteEvent":1,"PushEvent":1,"PullRequestEvent":1,"CreateEvent":1},"last_year":{"WatchEvent":1,"DeleteEvent":1,"PushEvent":1,"PullRequestEvent":1,"CreateEvent":1}},"keywords":["hash","hashie","ruby","rubygem","underscore"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ancient.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:42.205Z","updated_at":"2025-05-21T00:43:42.205Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/ancient.yml","dependencies":[{"id":23227843198,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227843199,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:42.258Z","updated_at":"2025-05-21T00:43:42.258Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":23227843634,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227843635,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":23227843636,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":23227843637,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/coverage.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:42.314Z","updated_at":"2025-05-21T00:43:42.314Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/coverage.yml","dependencies":[{"id":23227843645,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227843646,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":23227843647,"package_name":"coverallsapp/github-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":23227843648,"package_name":"qltysh/qlty-action/coverage","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":23227843900,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":23227843901,"package_name":"irongut/CodeCoverageSummary","ecosystem":"actions","requirements":"v1.3.0","direct":true,"kind":"composite","optional":false},{"id":23227843902,"package_name":"marocchino/sticky-pull-request-comment","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/current-runtime-heads.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:45.875Z","updated_at":"2025-05-21T00:43:45.875Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/current-runtime-heads.yml","dependencies":[{"id":23227844037,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844038,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/current.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:45.928Z","updated_at":"2025-05-21T00:43:45.928Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/current.yml","dependencies":[{"id":23227844039,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844040,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/dependency-review.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:45.993Z","updated_at":"2025-05-21T00:43:45.993Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/dependency-review.yml","dependencies":[{"id":23227844041,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844042,"package_name":"actions/dependency-review-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/heads.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.049Z","updated_at":"2025-05-21T00:43:46.049Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/heads.yml","dependencies":[{"id":23227844326,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844327,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/jruby.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.315Z","updated_at":"2025-05-21T00:43:46.315Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/jruby.yml","dependencies":[{"id":23227844328,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844329,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/legacy.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.368Z","updated_at":"2025-05-21T00:43:46.368Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/legacy.yml","dependencies":[{"id":23227844330,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844331,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/macos.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.421Z","updated_at":"2025-05-21T00:43:46.421Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/macos.yml","dependencies":[{"id":23227844334,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844336,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/style.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.474Z","updated_at":"2025-05-21T00:43:46.474Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/style.yml","dependencies":[{"id":23227844412,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844413,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/supported.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.530Z","updated_at":"2025-05-21T00:43:46.530Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/supported.yml","dependencies":[{"id":23227844414,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844415,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/truffle.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.584Z","updated_at":"2025-05-21T00:43:46.584Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/truffle.yml","dependencies":[{"id":23227844416,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844417,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/unsupported.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.638Z","updated_at":"2025-05-21T00:43:46.638Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/unsupported.yml","dependencies":[{"id":23227844708,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844709,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/windows.yml","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.908Z","updated_at":"2025-05-21T00:43:46.908Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/.github/workflows/windows.yml","dependencies":[{"id":23227844710,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":23227844711,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2025-05-21T00:43:46.961Z","updated_at":"2025-05-21T00:43:46.961Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/Gemfile","dependencies":[{"id":23227844712,"package_name":"debug","ecosystem":"rubygems","requirements":"\u003e= 1.0.0","direct":true,"kind":"runtime","optional":false},{"id":23227844713,"package_name":"gem_bench","ecosystem":"rubygems","requirements":"~\u003e 2.0, \u003e= 2.0.5","direct":true,"kind":"runtime","optional":false},{"id":23227845789,"package_name":"appraisal","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2025-05-21T00:43:50.295Z","updated_at":"2025-05-21T00:43:50.295Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/Gemfile.lock","dependencies":[{"id":23227846875,"package_name":"ansi","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":23227846876,"package_name":"appraisal","ecosystem":"rubygems","requirements":"3.0.0.rc1","direct":false,"kind":"runtime","optional":false},{"id":23227846877,"package_name":"ast","ecosystem":"rubygems","requirements":"2.4.3","direct":false,"kind":"runtime","optional":false},{"id":23227846878,"package_name":"backports","ecosystem":"rubygems","requirements":"3.25.1","direct":false,"kind":"runtime","optional":false},{"id":23227847987,"package_name":"benchmark","ecosystem":"rubygems","requirements":"0.4.0","direct":false,"kind":"runtime","optional":false},{"id":23227847988,"package_name":"bigdecimal","ecosystem":"rubygems","requirements":"3.1.9","direct":false,"kind":"runtime","optional":false},{"id":23227847989,"package_name":"bundler-audit","ecosystem":"rubygems","requirements":"0.9.2","direct":false,"kind":"runtime","optional":false},{"id":23227849182,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.3.5","direct":false,"kind":"runtime","optional":false},{"id":23227849187,"package_name":"date","ecosystem":"rubygems","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":23227849191,"package_name":"debug","ecosystem":"rubygems","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":23227849193,"package_name":"diff-lcs","ecosystem":"rubygems","requirements":"1.6.2","direct":false,"kind":"runtime","optional":false},{"id":23227849197,"package_name":"diffy","ecosystem":"rubygems","requirements":"3.4.3","direct":false,"kind":"runtime","optional":false},{"id":23227849966,"package_name":"docile","ecosystem":"rubygems","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":23227849967,"package_name":"dry-configurable","ecosystem":"rubygems","requirements":"1.3.0","direct":false,"kind":"runtime","optional":false},{"id":23227849968,"package_name":"dry-core","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":23227849969,"package_name":"dry-inflector","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":23227850805,"package_name":"dry-initializer","ecosystem":"rubygems","requirements":"3.2.0","direct":false,"kind":"runtime","optional":false},{"id":23227851158,"package_name":"dry-logic","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":23227851165,"package_name":"dry-schema","ecosystem":"rubygems","requirements":"1.14.1","direct":false,"kind":"runtime","optional":false},{"id":23227851306,"package_name":"dry-types","ecosystem":"rubygems","requirements":"1.8.2","direct":false,"kind":"runtime","optional":false},{"id":23227851419,"package_name":"erb","ecosystem":"rubygems","requirements":"5.0.1","direct":false,"kind":"runtime","optional":false},{"id":23227851420,"package_name":"gem_bench","ecosystem":"rubygems","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":23227851421,"package_name":"hashie","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":23227851422,"package_name":"io-console","ecosystem":"rubygems","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":23227851423,"package_name":"irb","ecosystem":"rubygems","requirements":"1.15.2","direct":false,"kind":"runtime","optional":false},{"id":23227851424,"package_name":"json","ecosystem":"rubygems","requirements":"2.12.0","direct":false,"kind":"runtime","optional":false},{"id":23227851425,"package_name":"kettle-soup-cover","ecosystem":"rubygems","requirements":"1.0.9","direct":false,"kind":"runtime","optional":false},{"id":23227852858,"package_name":"kramdown","ecosystem":"rubygems","requirements":"2.5.1","direct":false,"kind":"runtime","optional":false},{"id":23227852859,"package_name":"kramdown-parser-gfm","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":23227852860,"package_name":"language_server-protocol","ecosystem":"rubygems","requirements":"3.17.0.5","direct":false,"kind":"runtime","optional":false},{"id":23227852861,"package_name":"lint_roller","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":23227852862,"package_name":"logger","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":23227852863,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.18.8","direct":false,"kind":"runtime","optional":false},{"id":23227852864,"package_name":"ostruct","ecosystem":"rubygems","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":23227852865,"package_name":"parallel","ecosystem":"rubygems","requirements":"1.27.0","direct":false,"kind":"runtime","optional":false},{"id":23227852866,"package_name":"parser","ecosystem":"rubygems","requirements":"3.3.8.0","direct":false,"kind":"runtime","optional":false},{"id":23227852867,"package_name":"pp","ecosystem":"rubygems","requirements":"0.6.2","direct":false,"kind":"runtime","optional":false},{"id":23227852868,"package_name":"prettyprint","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":23227852869,"package_name":"prism","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":23227852870,"package_name":"psych","ecosystem":"rubygems","requirements":"5.2.6","direct":false,"kind":"runtime","optional":false},{"id":23227852871,"package_name":"racc","ecosystem":"rubygems","requirements":"1.8.1","direct":false,"kind":"runtime","optional":false},{"id":23227852872,"package_name":"rainbow","ecosystem":"rubygems","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":23227852873,"package_name":"rake","ecosystem":"rubygems","requirements":"13.2.1","direct":false,"kind":"runtime","optional":false},{"id":23227852874,"package_name":"rdoc","ecosystem":"rubygems","requirements":"6.14.0","direct":false,"kind":"runtime","optional":false},{"id":23227852875,"package_name":"reek","ecosystem":"rubygems","requirements":"6.5.0","direct":false,"kind":"runtime","optional":false},{"id":23227853336,"package_name":"regexp_parser","ecosystem":"rubygems","requirements":"2.10.0","direct":false,"kind":"runtime","optional":false},{"id":23227853337,"package_name":"reline","ecosystem":"rubygems","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":23227853338,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":23227853339,"package_name":"rspec","ecosystem":"rubygems","requirements":"3.13.0","direct":false,"kind":"runtime","optional":false},{"id":23227853340,"package_name":"rspec-block_is_expected","ecosystem":"rubygems","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":23227853373,"package_name":"rspec-core","ecosystem":"rubygems","requirements":"3.13.3","direct":false,"kind":"runtime","optional":false},{"id":23227853374,"package_name":"rspec-expectations","ecosystem":"rubygems","requirements":"3.13.4","direct":false,"kind":"runtime","optional":false},{"id":23227853375,"package_name":"rspec-mocks","ecosystem":"rubygems","requirements":"3.13.4","direct":false,"kind":"runtime","optional":false},{"id":23227853376,"package_name":"rspec-support","ecosystem":"rubygems","requirements":"3.13.3","direct":false,"kind":"runtime","optional":false},{"id":23227853377,"package_name":"rubocop","ecosystem":"rubygems","requirements":"1.75.6","direct":false,"kind":"runtime","optional":false},{"id":23227853378,"package_name":"rubocop-ast","ecosystem":"rubygems","requirements":"1.44.1","direct":false,"kind":"runtime","optional":false},{"id":23227853379,"package_name":"rubocop-gradual","ecosystem":"rubygems","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":23227853398,"package_name":"rubocop-lts","ecosystem":"rubygems","requirements":"8.1.1","direct":false,"kind":"runtime","optional":false},{"id":23227853482,"package_name":"rubocop-md","ecosystem":"rubygems","requirements":"1.2.4","direct":false,"kind":"runtime","optional":false},{"id":23227853688,"package_name":"rubocop-packaging","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":23227854120,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"1.25.0","direct":false,"kind":"runtime","optional":false},{"id":23227854121,"package_name":"rubocop-rake","ecosystem":"rubygems","requirements":"0.7.1","direct":false,"kind":"runtime","optional":false},{"id":23227854236,"package_name":"rubocop-rspec","ecosystem":"rubygems","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":23227854237,"package_name":"rubocop-ruby2_2","ecosystem":"rubygems","requirements":"2.0.5","direct":false,"kind":"runtime","optional":false},{"id":23227854513,"package_name":"rubocop-shopify","ecosystem":"rubygems","requirements":"2.17.0","direct":false,"kind":"runtime","optional":false},{"id":23227855663,"package_name":"rubocop-thread_safety","ecosystem":"rubygems","requirements":"0.7.2","direct":false,"kind":"runtime","optional":false},{"id":23227856898,"package_name":"ruby-progressbar","ecosystem":"rubygems","requirements":"1.13.0","direct":false,"kind":"runtime","optional":false},{"id":23227856899,"package_name":"simplecov","ecosystem":"rubygems","requirements":"0.22.0","direct":false,"kind":"runtime","optional":false},{"id":23227856900,"package_name":"simplecov-cobertura","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":23227857371,"package_name":"simplecov-console","ecosystem":"rubygems","requirements":"0.9.3","direct":false,"kind":"runtime","optional":false},{"id":23227858427,"package_name":"simplecov-html","ecosystem":"rubygems","requirements":"0.13.1","direct":false,"kind":"runtime","optional":false},{"id":23227858428,"package_name":"simplecov-lcov","ecosystem":"rubygems","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":23227860021,"package_name":"simplecov-rcov","ecosystem":"rubygems","requirements":"0.3.7","direct":false,"kind":"runtime","optional":false},{"id":23227860047,"package_name":"simplecov_json_formatter","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":23227860048,"package_name":"snaky_hash","ecosystem":"rubygems","requirements":"2.0.1","direct":false,"kind":"runtime","optional":false},{"id":23227860049,"package_name":"standard","ecosystem":"rubygems","requirements":"1.50.0","direct":false,"kind":"runtime","optional":false},{"id":23227860170,"package_name":"standard-custom","ecosystem":"rubygems","requirements":"1.0.2","direct":false,"kind":"runtime","optional":false},{"id":23227860210,"package_name":"standard-performance","ecosystem":"rubygems","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":23227860254,"package_name":"standard-rubocop-lts","ecosystem":"rubygems","requirements":"1.0.10","direct":false,"kind":"runtime","optional":false},{"id":23227860731,"package_name":"stone_checksums","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":23227861994,"package_name":"stringio","ecosystem":"rubygems","requirements":"3.1.7","direct":false,"kind":"runtime","optional":false},{"id":23227861995,"package_name":"terminal-table","ecosystem":"rubygems","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":23227861996,"package_name":"thor","ecosystem":"rubygems","requirements":"1.3.2","direct":false,"kind":"runtime","optional":false},{"id":23227861997,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"3.1.4","direct":false,"kind":"runtime","optional":false},{"id":23227861998,"package_name":"unicode-emoji","ecosystem":"rubygems","requirements":"4.0.4","direct":false,"kind":"runtime","optional":false},{"id":23227861999,"package_name":"version_gem","ecosystem":"rubygems","requirements":"1.1.8","direct":false,"kind":"runtime","optional":false},{"id":23227862000,"package_name":"yard","ecosystem":"rubygems","requirements":"0.9.37","direct":false,"kind":"runtime","optional":false},{"id":23227862001,"package_name":"yard-junk","ecosystem":"rubygems","requirements":"0.0.10","direct":false,"kind":"runtime","optional":false},{"id":23227864892,"package_name":"yard-relative_markdown_links","ecosystem":"rubygems","requirements":"0.5.0","direct":false,"kind":"runtime","optional":false},{"id":23227864924,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"2.7.3","direct":false,"kind":"runtime","optional":false},{"id":23227864925,"package_name":"bundler","ecosystem":"rubygems","requirements":"2.6.9","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"snaky_hash.gemspec","sha":null,"kind":"manifest","created_at":"2025-05-21T00:44:18.289Z","updated_at":"2025-05-21T00:44:18.289Z","repository_link":"https://github.com/ruby-oauth/snaky_hash/blob/main/snaky_hash.gemspec","dependencies":[{"id":23227864936,"package_name":"hashie","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":23227864937,"package_name":"version_gem","ecosystem":"rubygems","requirements":"\u003e= 1.1.8, \u003c 3","direct":true,"kind":"runtime","optional":false},{"id":23227864938,"package_name":"rake","ecosystem":"rubygems","requirements":"~\u003e 13.0","direct":true,"kind":"development","optional":false},{"id":23227864939,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.13","direct":true,"kind":"development","optional":false},{"id":23227864940,"package_name":"rspec-block_is_expected","ecosystem":"rubygems","requirements":"~\u003e 1.0, \u003e= 1.0.6","direct":true,"kind":"development","optional":false},{"id":23227864941,"package_name":"stone_checksums","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"development","optional":false}]}],"score":2.4849066497880004,"created_at":"2025-09-04T15:51:17.012Z","updated_at":"2025-10-07T08:17:10.924Z","avatar_url":"https://github.com/ruby-oauth.png","language":"Ruby","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":["https://buymeacoffee.com/pboling","https://github.com/sponsors/pboling","https://issuehunt.io/r/pboling","https://ko-fi.com/pboling","https://liberapay.com/pboling","https://opencollective.com/ruby-oauth","https://patreon.com/galtzo","https://polar.sh/pboling","https://thanks.dev/u/gh/pboling","https://tidelift.com/funding/github/rubygems/snaky_hash","https://tidelift.com/subscription","https://blog.tidelift.com/tidelift-joins-sonar","https://liberapay.com/pboling/donate","https://ko-fi.com/O5O86SNP4","https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte\u0026emoji=\u0026slug=pboling\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff","https://www.buymeacoffee.com/pboling"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["interactive","mesh","interpretability","profiles","sequences","generic","projection","optim","embedded","hacking"],"project_url":"https://science.ecosyste.ms/api/v1/projects/42167","html_url":"https://science.ecosyste.ms/projects/42167","bibtex_url":"https://science.ecosyste.ms/projects/42167/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/42167/export.apalike"}