{"id":518,"name":null,"description":"A weak reference implementation for Ruby that works across runtimes (MRI, REE, Jruby, Rubinius, and IronRuby)","url":"https://github.com/ruby-concurrency/ref","last_synced_at":"2026-04-30T22:00:25.233Z","repository":{"id":1254851,"uuid":"1193537","full_name":"ruby-concurrency/ref","owner":"ruby-concurrency","description":"A weak reference implementation for Ruby that works across runtimes (MRI, REE, Jruby, Rubinius, and IronRuby)","archived":true,"fork":false,"pushed_at":"2020-11-17T21:03:32.000Z","size":105,"stargazers_count":64,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-04-28T11:46:46.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-concurrency.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-23T15:55:54.000Z","updated_at":"2026-04-21T09:37:10.000Z","dependencies_parsed_at":"2022-07-12T14:54:37.805Z","dependency_job_id":null,"html_url":"https://github.com/ruby-concurrency/ref","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-concurrency/ref","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32456167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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-concurrency","name":"ruby-concurrency","uuid":"5462766","kind":"organization","description":"","email":"concurrent-ruby@googlegroups.com","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5462766?v=4","repositories_count":5,"last_synced_at":"2024-03-25T19:33:59.022Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-concurrency","funding_links":[],"total_stars":5892,"followers":9,"following":0,"created_at":"2022-11-02T16:17:27.806Z","updated_at":"2024-03-25T19:33:59.487Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency/repositories"},"packages":[{"id":8614765,"name":"github.com/ruby-concurrency/ref","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-concurrency/ref","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2015-07-10T14:01:21.000Z","latest_release_published_at":"2015-07-10T14:01:21.000Z","latest_release_number":"v2.0.0+incompatible","last_synced_at":"2026-04-28T21:00:39.880Z","created_at":"2023-12-02T02:14:59.093Z","updated_at":"2026-04-28T21:00:39.880Z","registry_url":"https://pkg.go.dev/github.com/ruby-concurrency/ref","install_command":"go get github.com/ruby-concurrency/ref","documentation_url":"https://pkg.go.dev/github.com/ruby-concurrency/ref#section-documentation","metadata":{},"repo_metadata":{"id":1254851,"uuid":"1193537","full_name":"ruby-concurrency/ref","owner":"ruby-concurrency","description":"A weak reference implementation for Ruby that works across runtimes (MRI, REE, Jruby, Rubinius, and IronRuby)","archived":true,"fork":false,"pushed_at":"2020-11-17T21:03:32.000Z","size":105,"stargazers_count":64,"open_issues_count":1,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-29T13:37:24.264Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-concurrency.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-23T15:55:54.000Z","updated_at":"2023-01-28T02:22:32.000Z","dependencies_parsed_at":"2022-07-12T14:54:37.805Z","dependency_job_id":null,"html_url":"https://github.com/ruby-concurrency/ref","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-concurrency/ref","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278254467,"owners_count":25956600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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":"ruby-concurrency","name":"ruby-concurrency","uuid":"5462766","kind":"organization","description":"","email":"concurrent-ruby@googlegroups.com","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5462766?v=4","repositories_count":5,"last_synced_at":"2024-03-25T19:33:59.022Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-concurrency","funding_links":[],"total_stars":5892,"followers":9,"following":0,"created_at":"2022-11-02T16:17:27.806Z","updated_at":"2024-03-25T19:33:59.487Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency/repositories"},"tags":[{"name":"v2.0.0","sha":"7343f71643d215f4176bcc153e65416d7fe2892c","kind":"commit","published_at":"2015-07-10T14:01:21.000Z","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/v2.0.0","html_url":"https://github.com/ruby-concurrency/ref/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-concurrency/ref@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags/v2.0.0/manifests"}]},"repo_metadata_updated_at":"2025-10-06T17:24:40.443Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":5.252244568280385,"forks_count":6.636521361742655,"docker_downloads_count":null,"average":8.066522196071721},"purl":"pkg:golang/github.com/ruby-concurrency/ref","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ruby-concurrency/ref","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ruby-concurrency/ref","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ruby-concurrency/ref/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T23:33:04.278Z","issues_count":19,"pull_requests_count":18,"avg_time_to_close_issue":18984102.315789472,"avg_time_to_close_pull_request":3316584.529411765,"issues_closed_count":19,"pull_requests_closed_count":17,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":2.6315789473684212,"avg_comments_per_pull_request":3.0,"merged_pull_requests_count":15,"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/ruby-concurrency%2Fref/issues","maintainers":[{"login":"jdantonio","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdantonio"},{"login":"lucasallan","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucasallan"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby-concurrency%2Fref/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby-concurrency%2Fref/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby-concurrency%2Fref/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby-concurrency%2Fref/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby-concurrency%2Fref/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2119755,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":285432,"name":"ref","ecosystem":"rubygems","description":"Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI,Jruby and Rubinius). Also includes implementation of maps/hashes that use references and a reference queue.","homepage":"http://github.com/ruby-concurrency/ref","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-concurrency/ref","keywords_array":[],"namespace":null,"versions_count":6,"first_release_published_at":"2011-01-11T16:06:42.675Z","latest_release_published_at":"2015-07-10T14:02:56.821Z","latest_release_number":"2.0.0","last_synced_at":"2026-04-28T21:00:29.937Z","created_at":"2022-04-06T08:53:14.336Z","updated_at":"2026-04-28T21:04:12.651Z","registry_url":"https://rubygems.org/gems/ref","install_command":"gem install ref -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/ref/","metadata":{"funding":null},"repo_metadata":{"id":1254851,"uuid":"1193537","full_name":"ruby-concurrency/ref","owner":"ruby-concurrency","description":"A weak reference implementation for Ruby that works across runtimes (MRI, REE, Jruby, Rubinius, and IronRuby)","archived":true,"fork":false,"pushed_at":"2020-11-17T21:03:32.000Z","size":105,"stargazers_count":64,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-04-28T11:46:46.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-concurrency.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-23T15:55:54.000Z","updated_at":"2026-04-21T09:37:10.000Z","dependencies_parsed_at":"2022-07-12T14:54:37.805Z","dependency_job_id":null,"html_url":"https://github.com/ruby-concurrency/ref","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-concurrency/ref","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32384134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby-concurrency","name":"ruby-concurrency","uuid":"5462766","kind":"organization","description":"","email":"concurrent-ruby@googlegroups.com","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5462766?v=4","repositories_count":5,"last_synced_at":"2024-03-25T19:33:59.022Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-concurrency","funding_links":[],"total_stars":5892,"followers":9,"following":0,"created_at":"2022-11-02T16:17:27.806Z","updated_at":"2024-03-25T19:33:59.487Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency/repositories"},"tags":[{"name":"v2.0.0","sha":"7343f71643d215f4176bcc153e65416d7fe2892c","kind":"commit","published_at":"2015-07-10T14:01:21.000Z","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/v2.0.0","html_url":"https://github.com/ruby-concurrency/ref/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-concurrency/ref@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags/v2.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-28T21:04:12.651Z","dependent_packages_count":19,"downloads":55441838,"downloads_period":"total","dependent_repos_count":56640,"rankings":{"downloads":0.38135167984299906,"dependent_repos_count":0.1460733042673476,"dependent_packages_count":1.0938771869180763,"stargazers_count":6.764532063647819,"forks_count":9.168051203710931,"docker_downloads_count":0.7833320324260434,"average":3.0562029118022025},"purl":"pkg:gem/ref","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ref","docker_dependents_count":285,"docker_downloads_count":33203602,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ref","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ref/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-20T17:06:50.214Z","issues_count":19,"pull_requests_count":18,"avg_time_to_close_issue":18984102.315789472,"avg_time_to_close_pull_request":3316584.529411765,"issues_closed_count":19,"pull_requests_closed_count":17,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":2.6315789473684212,"avg_comments_per_pull_request":3.0,"merged_pull_requests_count":15,"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/ruby-concurrency%2Fref/issues","maintainers":[{"login":"jdantonio","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdantonio"},{"login":"lucasallan","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucasallan"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ref/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ref/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ref/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ref/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ref/codemeta","maintainers":[{"uuid":"3543","login":"bdurand","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/bdurand","role":null,"created_at":"2022-11-09T09:47:48.293Z","updated_at":"2022-11-09T09:47:48.293Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/bdurand/packages"},{"uuid":"50229","login":"pitr-ch","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://rubygems.org/profiles/pitr-ch","role":null,"created_at":"2022-11-09T09:47:48.399Z","updated_at":"2022-11-09T09:47:48.399Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/pitr-ch/packages"},{"uuid":"65379","login":"jdantonio","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://rubygems.org/profiles/jdantonio","role":null,"created_at":"2022-11-09T09:47:48.337Z","updated_at":"2022-11-09T09:47:48.337Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jdantonio/packages"},{"uuid":"48324","login":"lucasallan","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://rubygems.org/profiles/lucasallan","role":null,"created_at":"2022-11-09T09:47:48.366Z","updated_at":"2022-11-09T09:47:48.366Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/lucasallan/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205567,"maintainers_count":68480,"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":12307958,"name":"ref","ecosystem":"rubygems","description":"Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI,Jruby and Rubinius). Also includes implementation of maps/hashes that use references and a reference queue.","homepage":"http://github.com/ruby-concurrency/ref","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-concurrency/ref","keywords_array":[],"namespace":null,"versions_count":6,"first_release_published_at":"2011-01-11T16:06:42.675Z","latest_release_published_at":"2015-07-10T14:02:56.821Z","latest_release_number":"2.0.0","last_synced_at":"2026-04-30T06:01:12.724Z","created_at":"2025-10-07T05:23:44.262Z","updated_at":"2026-04-30T06:02:39.674Z","registry_url":"https://gem.coop/gems/ref","install_command":"gem install ref -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/ref/","metadata":{"funding":null},"repo_metadata":{"id":1254851,"uuid":"1193537","full_name":"ruby-concurrency/ref","owner":"ruby-concurrency","description":"A weak reference implementation for Ruby that works across runtimes (MRI, REE, Jruby, Rubinius, and IronRuby)","archived":true,"fork":false,"pushed_at":"2020-11-17T21:03:32.000Z","size":105,"stargazers_count":64,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-04-28T11:46:46.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-concurrency.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-23T15:55:54.000Z","updated_at":"2026-04-21T09:37:10.000Z","dependencies_parsed_at":"2022-07-12T14:54:37.805Z","dependency_job_id":null,"html_url":"https://github.com/ruby-concurrency/ref","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-concurrency/ref","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","download_url":"https://codeload.github.com/ruby-concurrency/ref/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32384134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby-concurrency","name":"ruby-concurrency","uuid":"5462766","kind":"organization","description":"","email":"concurrent-ruby@googlegroups.com","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5462766?v=4","repositories_count":5,"last_synced_at":"2024-03-25T19:33:59.022Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-concurrency","funding_links":[],"total_stars":5892,"followers":9,"following":0,"created_at":"2022-11-02T16:17:27.806Z","updated_at":"2024-03-25T19:33:59.487Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-concurrency/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-30T06:02:39.673Z","dependent_packages_count":0,"downloads":55445940,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.46711540021085074,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.6617468169653719,"average":0.28221555429405565},"purl":"pkg:gem/ref?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ref","docker_dependents_count":285,"docker_downloads_count":33203602,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ref","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ref/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-20T17:06:50.214Z","issues_count":19,"pull_requests_count":18,"avg_time_to_close_issue":18984102.315789472,"avg_time_to_close_pull_request":3316584.529411765,"issues_closed_count":19,"pull_requests_closed_count":17,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":2.6315789473684212,"avg_comments_per_pull_request":3.0,"merged_pull_requests_count":15,"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/ruby-concurrency%2Fref/issues","maintainers":[{"login":"jdantonio","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdantonio"},{"login":"lucasallan","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucasallan"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ref/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ref/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ref/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ref/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ref/codemeta","maintainers":[{"uuid":"50229","login":"pitr-ch","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://gem.coop/profiles/pitr-ch","role":null,"created_at":"2025-10-08T04:15:30.273Z","updated_at":"2025-10-08T04:15:30.273Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/pitr-ch/packages"},{"uuid":"3543","login":"bdurand","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://gem.coop/profiles/bdurand","role":null,"created_at":"2025-10-08T04:15:30.103Z","updated_at":"2025-10-08T04:15:30.103Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/bdurand/packages"},{"uuid":"65379","login":"jdantonio","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://gem.coop/profiles/jdantonio","role":null,"created_at":"2025-10-08T04:15:30.159Z","updated_at":"2025-10-08T04:15:30.159Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jdantonio/packages"},{"uuid":"48324","login":"lucasallan","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://gem.coop/profiles/lucasallan","role":null,"created_at":"2025-10-08T04:15:30.231Z","updated_at":"2025-10-08T04:15:30.231Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/lucasallan/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190420,"maintainers_count":67490,"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"}}],"commits":{"id":915059,"full_name":"ruby-concurrency/ref","default_branch":"master","total_commits":65,"total_committers":7,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":9.285714285714286,"dds":0.5538461538461539,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-30T06:03:40.017Z","last_synced_commit":"7a3991fea598edfe41d4e3a9e37b344bc7b7570d","created_at":"2023-03-09T23:25:32.951Z","updated_at":"2026-04-30T06:03:25.169Z","committers":[{"name":"Brian Durand","email":"brian@embellishedvisions.com","login":null,"count":29},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":13},{"name":"Lucas Allan Amorim","email":"lucas.allan@gmail.com","login":"lucasallan","count":11},{"name":"Jerry D'Antonio","email":"stumpjumper@gmail.com","login":"jdantonio","count":6},{"name":"Ian Unruh","email":"ianunruh@gmail.com","login":"ianunruh","count":3},{"name":"Kim Burgestrand","email":"kim@burgestrand.se","login":"Burgestrand","count":2},{"name":"Pedro Andrade","email":"pedro.rjandrade@gmail.com","login":"pedroandrade","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-30T00:00:07.427Z","repositories_count":6223834,"commits_count":900050450,"contributors_count":34902052,"owners_count":1147610,"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-concurrency/ref","html_url":"https://github.com/ruby-concurrency/ref","last_synced_at":"2026-04-20T17:06:50.214Z","status":"error","issues_count":19,"pull_requests_count":18,"avg_time_to_close_issue":18984102.315789472,"avg_time_to_close_pull_request":3316584.529411765,"issues_closed_count":19,"pull_requests_closed_count":17,"pull_request_authors_count":8,"issue_authors_count":13,"avg_comments_per_issue":2.6315789473684212,"avg_comments_per_pull_request":3.0,"merged_pull_requests_count":15,"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-12T16:05:24.851Z","updated_at":"2026-04-20T17:06:50.214Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-concurrency%2Fref/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":11,"MEMBER":8},"pull_request_author_associations_count":{"MEMBER":12,"CONTRIBUTOR":4,"NONE":2},"issue_authors":{"jdantonio":7,"danielwaterworth":1,"gingerlime":1,"arkadiyt":1,"giladbu":1,"ghost":1,"CarmelK":1,"voxik":1,"strzibny":1,"lucasallan":1,"PikachuEXE":1,"the8472":1,"jemc":1},"pull_request_authors":{"lucasallan":9,"jdantonio":3,"pedroandrade":1,"schmurfy":1,"olleolleolle":1,"Burgestrand":1,"ianunruh":1,"kmcclellan":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-26T00:00:11.126Z","repositories_count":14421130,"issues_count":34448019,"pull_requests_count":112726035,"authors_count":11246315,"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":"jdantonio","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdantonio"},{"login":"lucasallan","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucasallan"}],"active_maintainers":[]},"events":{"total":{},"last_year":{}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-12T14:54:37.796Z","updated_at":"2022-07-12T14:54:37.796Z","repository_link":"https://github.com/ruby-concurrency/ref/blob/master/Gemfile","dependencies":[{"id":159305612,"package_name":"rake","ecosystem":"rubygems","requirements":"~\u003e 10.3.2","direct":true,"kind":"development","optional":false},{"id":159305613,"package_name":"rake-compiler","ecosystem":"rubygems","requirements":"= 0.9.5","direct":true,"kind":"development","optional":false},{"id":159305614,"package_name":"test-unit","ecosystem":"rubygems","requirements":"~\u003e 3.0.9","direct":true,"kind":"development","optional":false},{"id":159305615,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.6","direct":true,"kind":"development","optional":false},{"id":159305616,"package_name":"coveralls","ecosystem":"rubygems","requirements":"~\u003e 0.8.21","direct":true,"kind":"development","optional":false},{"id":159305617,"package_name":"yard","ecosystem":"rubygems","requirements":"~\u003e 0.8.7.4","direct":true,"kind":"development","optional":false},{"id":159305618,"package_name":"inch","ecosystem":"rubygems","requirements":"~\u003e 0.4.6","direct":true,"kind":"development","optional":false},{"id":159305619,"package_name":"redcarpet","ecosystem":"rubygems","requirements":"~\u003e 3.1.2","direct":true,"kind":"development","optional":false}]}],"score":25.11394564748455,"created_at":"2024-12-15T21:38:08.241Z","updated_at":"2026-04-30T22:00:25.361Z","avatar_url":"https://github.com/ruby-concurrency.png","language":"Ruby","monthly_downloads":0,"readme":"# Ref\n\n[![Gem Version](https://badge.fury.io/rb/ref.svg)](http://badge.fury.io/rb/ref) [![Build Status](https://travis-ci.org/ruby-concurrency/ref.svg?branch=master)](https://travis-ci.org/ruby-concurrency/ref) [![Coverage Status](https://img.shields.io/coveralls/ruby-concurrency/ref/master.svg)](https://coveralls.io/r/ruby-concurrency/ref) [![Code Climate](https://codeclimate.com/github/ruby-concurrency/ref.svg)](https://codeclimate.com/github/ruby-concurrency/ref) [![Dependency Status](https://gemnasium.com/ruby-concurrency/ref.svg)](https://gemnasium.com/ruby-concurrency/ref) [![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT) [![Gitter chat](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/ruby-concurrency/concurrent-ruby)\n\nThis library provides object references for Ruby as well as some common utilities for working with references. Object references are used to point to other objects and come in three distinct flavors that interact differently with the garbage collector.\n\n* `Ref::StrongReference` - This is a plain old pointer to another object.\n* `Ref::WeakReference` - This is a pointer to another object, but it is not seen by the garbage collector and the memory used by the object can be reclaimed at any time.\n* `Ref::SoftReference` - This is similar to a weak reference, but the garbage collector is not as eager to reclaim the referenced object.\n\nAll of these classes extend from a common `Ref::Reference` class and have a common interface.\n\nWeak and soft references are useful when you have instantiated objects that you may want to use again but can recreate if necessary. Since the garbage collector determines when to reclaim the memory used by the objects, you don't need to worry about bloating the Ruby heap.\n\n## Example Usage\n\n```ruby\nref = Ref::WeakReference.new(\"hello\")\nref.object # should be \"hello\"\nObjectSpace.garbage_collect\nref.object # should be nil (assuming the garbage collector reclaimed the reference)\n```\n\n## Goodies\n\nThis library also includes tools for some common uses of weak and soft references.\n\n* `Ref::WeakKeyMap` - A map of keys to values where the keys are weak references\n* `Ref::WeakValueMap` - A map of keys to values where the values are weak references\n* `Ref::SoftKeyMap` - A map of keys to values where the keys are soft references\n* `Ref::SoftValueMap` - A map of keys to values where the values are soft references\n* `Ref::ReferenceQueue` - A thread safe implementation of a queue that will add references to itself as their objects are garbage collected.\n\n## Problems with WeakRef\n\nRuby does come with the `WeakRef` class in the standard library. However, there are [issues with this class](https://bugs.ruby-lang.org/issues/4168) across several different Ruby runtimes. This gem provides a common interface to weak references that works across MRI, Ruby Enterprise Edition, YARV, JRuby and Rubinius.\n\n1. Rubinius - Rubinius implements `WeakRef` with a lighter weight version of delegation and works very well.\n2. YARV 1.9 - `WeakRef` is unsafe to use because the garbage collector can run in a different system thread than a thread allocating memory. This exposes a bug where a `WeakRef` may end up pointing to a completely different object than it originally referenced.\n3. MRI Ruby 2.0+ has a good implementation of `WeakRef`.\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["background-jobs","jobs","sidekiq","activejob","activerecord","mvc","authorization","grape","oauth2","feature-flag"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/518","html_url":"https://ruby.ecosyste.ms/projects/518"}