{"id":12201886,"name":"class2","ecosystem":"rubygems","description":"Easily create hierarchies of classes that support nested attributes, type conversion, equality, and more.","homepage":"https://github.com/sshaw/class2","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sshaw/class2","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2017-08-06T03:51:23.979Z","latest_release_published_at":"2024-10-16T00:34:40.439Z","latest_release_number":"0.6.0","last_synced_at":"2026-08-15T22:37:16.545Z","created_at":"2025-10-07T02:05:20.936Z","updated_at":"2026-08-15T22:37:25.216Z","registry_url":"https://gem.coop/gems/class2","install_command":"gem install class2 -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/class2/","metadata":{"funding":null},"repo_metadata":{"id":62555712,"uuid":"99437219","full_name":"sshaw/class2","owner":"sshaw","description":"Easily create Ruby class hierarchies that support nested attributes, type conversion, serialization, equality, and more.","archived":false,"fork":false,"pushed_at":"2025-07-16T01:50:10.000Z","size":69,"stargazers_count":16,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-21T04:40:12.070Z","etag":null,"topics":["api","class-builder","class-generator","data-transfer-object","dsl","forms","json","nested-attributes","nested-objects","parameters","poro","ruby"],"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/sshaw.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-08-05T17:17:56.000Z","updated_at":"2025-10-06T09:01:48.000Z","dependencies_parsed_at":"2025-07-16T00:32:06.113Z","dependency_job_id":"cb652058-0c88-4637-b8a4-d5f683fc9413","html_url":"https://github.com/sshaw/class2","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/sshaw/class2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36698915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-15T02:00:05.847Z","response_time":94,"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":"sshaw","name":"Skye Shaw","uuid":"17570","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/17570?v=4","repositories_count":55,"last_synced_at":"2023-03-10T22:10:35.819Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sshaw","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T19:49:45.954Z","updated_at":"2023-03-10T22:10:35.823Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw/repositories"},"tags":[{"name":"v0.6.0","sha":"3e149c6c155511b0f363b35594415dde3f840a82","kind":"tag","published_at":"2024-10-16T00:33:05.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.6.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.6.0/manifests"},{"name":"v0.5.2","sha":"c4154aed352d8b2b91f40536f3abdc1bb0cf6ee4","kind":"tag","published_at":"2020-04-25T03:12:27.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.5.2","html_url":"https://github.com/sshaw/class2/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"46c2029fefc58a921277bd5ab6c3ad790a65bc5a","kind":"tag","published_at":"2018-06-27T03:24:02.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.5.1","html_url":"https://github.com/sshaw/class2/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"6d5f251dfd591dcb96596685115858aef3d82884","kind":"tag","published_at":"2018-06-07T04:43:03.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.5.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"a2bc0cfb66d71953d3883feae32acd39023ff776","kind":"tag","published_at":"2018-05-30T01:09:11.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.4.1","html_url":"https://github.com/sshaw/class2/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"5fcedd03958a6f5973159e3512b41630916fed2a","kind":"tag","published_at":"2018-05-27T16:24:07.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.4.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"03c0bb62a9dccd1e144a143d899d1db84fc155ef","kind":"tag","published_at":"2017-12-05T03:22:19.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.3.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.3.0/manifests"},{"name":"v0.2.4","sha":"7a743d13e6b2e2bdb167f78177139329eb1f47b1","kind":"tag","published_at":"2017-10-22T16:49:53.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.2.4","html_url":"https://github.com/sshaw/class2/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"49aadb5adf3e5c8b87426bd357301c2a9560ceb5","kind":"tag","published_at":"2017-10-12T01:37:23.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.2.3","html_url":"https://github.com/sshaw/class2/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"c9033d2fb84e34774622f2d6395ee0e92a5b1359","kind":"tag","published_at":"2017-09-28T23:46:38.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.2.2","html_url":"https://github.com/sshaw/class2/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"1f63699486b61d55a0020fd9ca81f86e63b43302","kind":"tag","published_at":"2017-09-23T16:34:19.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.2.1","html_url":"https://github.com/sshaw/class2/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"916d42ef071ca89ccec4ac9d50c4bd589ad45b02","kind":"tag","published_at":"2017-09-15T00:55:58.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.2.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"858e37d3c352ba822ab8ccad91c5220154e39683","kind":"tag","published_at":"2017-08-16T00:15:39.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.1.0","html_url":"https://github.com/sshaw/class2/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.1.0/manifests"},{"name":"v0.0.2","sha":"34b320a2af4e68b8fe35555a081c63c14405eac7","kind":"tag","published_at":"2017-08-10T05:20:41.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.0.2","html_url":"https://github.com/sshaw/class2/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"089693d8fd7f3ee0db01a04a68ec80163d76386d","kind":"tag","published_at":"2017-08-06T03:51:15.000Z","download_url":"https://codeload.github.com/sshaw/class2/tar.gz/v0.0.1","html_url":"https://github.com/sshaw/class2/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sshaw/class2@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fclass2/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-15T22:37:25.216Z","dependent_packages_count":0,"downloads":116550,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":8.61697008364468,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":2.8723233612148937},"purl":"pkg:gem/class2?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/class2","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/class2","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/class2/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-11-28T15:44:31.634Z","issues_count":0,"pull_requests_count":3,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":1121.0,"issues_closed_count":0,"pull_requests_closed_count":1,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":1,"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":1121.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"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/sshaw%2Fclass2/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/class2/codemeta","maintainers":[{"uuid":"45906","login":"sshaw_","name":null,"email":null,"url":null,"packages_count":41,"html_url":"https://gem.coop/profiles/sshaw_","role":null,"created_at":"2025-10-07T14:19:24.260Z","updated_at":"2025-10-07T14:19:24.260Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/sshaw_/packages"}]}