{"id":344,"name":null,"description":"Connects business objects and REST web services","url":"https://github.com/rails/activeresource","last_synced_at":"2026-05-24T05:30:24.110Z","repository":{"id":2716935,"uuid":"3711416","full_name":"rails/activeresource","owner":"rails","description":"Connects business objects and REST web services","archived":false,"fork":false,"pushed_at":"2026-01-06T18:54:14.000Z","size":1229,"stargazers_count":1400,"open_issues_count":11,"forks_count":363,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-05-15T21:44:01.741Z","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/rails.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","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":"2012-03-13T21:09:47.000Z","updated_at":"2026-05-13T15:04:46.000Z","dependencies_parsed_at":"2024-06-02T21:26:58.529Z","dependency_job_id":"48934958-21d2-4597-8be5-c7c252548c32","html_url":"https://github.com/rails/activeresource","commit_stats":{"total_commits":847,"total_committers":231,"mean_commits":"3.6666666666666665","dds":0.8630460448642266,"last_synced_commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rails/activeresource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/sbom","scorecard":{"id":759273,"data":{"date":"2025-08-11","repo":{"name":"github.com/rails/activeresource","commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/rubocop.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: .devcontainer/base.Dockerfile:3","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T22:49:10.246Z","repository_id":2716935,"created_at":"2025-08-22T22:49:10.246Z","updated_at":"2025-08-22T22:49:10.246Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33125182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"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":"rails","name":"Ruby on Rails","uuid":"4223","kind":"organization","description":"","email":null,"website":"https://rubyonrails.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4223?v=4","repositories_count":116,"last_synced_at":"2023-04-09T03:40:20.529Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rails","funding_links":[],"total_stars":114333,"followers":null,"following":null,"created_at":"2022-11-02T16:17:13.297Z","updated_at":"2023-04-09T03:40:20.550Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails/repositories"},"packages":[{"id":150805,"name":"activeresource","ecosystem":"rubygems","description":"REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.","homepage":"http://www.rubyonrails.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rails/activeresource","keywords_array":[],"namespace":null,"versions_count":160,"first_release_published_at":"2009-07-25T18:35:33.000Z","latest_release_published_at":"2025-09-11T16:45:54.374Z","latest_release_number":"6.2.0","last_synced_at":"2026-05-22T06:01:31.570Z","created_at":"2022-04-05T16:34:57.459Z","updated_at":"2026-05-22T06:02:37.518Z","registry_url":"https://rubygems.org/gems/activeresource","install_command":"gem install activeresource -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/activeresource/","metadata":{"funding":null},"repo_metadata":{"id":2716935,"uuid":"3711416","full_name":"rails/activeresource","owner":"rails","description":"Connects business objects and REST web services","archived":false,"fork":false,"pushed_at":"2026-01-06T18:54:14.000Z","size":1229,"stargazers_count":1400,"open_issues_count":11,"forks_count":363,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-05-15T21:44:01.741Z","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/rails.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","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":"2012-03-13T21:09:47.000Z","updated_at":"2026-05-13T15:04:46.000Z","dependencies_parsed_at":"2024-06-02T21:26:58.529Z","dependency_job_id":"48934958-21d2-4597-8be5-c7c252548c32","html_url":"https://github.com/rails/activeresource","commit_stats":{"total_commits":847,"total_committers":231,"mean_commits":"3.6666666666666665","dds":0.8630460448642266,"last_synced_commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rails/activeresource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/sbom","scorecard":{"id":759273,"data":{"date":"2025-08-11","repo":{"name":"github.com/rails/activeresource","commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/rubocop.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: .devcontainer/base.Dockerfile:3","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T22:49:10.246Z","repository_id":2716935,"created_at":"2025-08-22T22:49:10.246Z","updated_at":"2025-08-22T22:49:10.246Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33125182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"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":"rails","name":"Ruby on Rails","uuid":"4223","kind":"organization","description":"","email":null,"website":"https://rubyonrails.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4223?v=4","repositories_count":116,"last_synced_at":"2023-04-09T03:40:20.529Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rails","funding_links":[],"total_stars":114333,"followers":null,"following":null,"created_at":"2022-11-02T16:17:13.297Z","updated_at":"2023-04-09T03:40:20.550Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails/repositories"},"tags":[{"name":"v6.2.0","sha":"0019d7ded94f9e33efe4da6ae5e5bd4d6bb206eb","kind":"tag","published_at":"2025-09-11T16:43:40.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.2.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.2.0/manifests"},{"name":"v6.1.4","sha":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887","kind":"tag","published_at":"2024-10-31T17:50:02.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.4","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.4/manifests"},{"name":"v6.1.3","sha":"db911dbfc792ff9923745da0ba309c2fec905a8b","kind":"tag","published_at":"2024-10-06T14:27:47.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.3","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.3/manifests"},{"name":"v6.1.2","sha":"9c2fbbb3740e8edec64109bedfe27274b8e5cdf1","kind":"tag","published_at":"2024-10-03T21:45:14.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.2","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.2/manifests"},{"name":"v6.1.1","sha":"a1f6a19652709f2da6aaa2559f7cd0a4f7d2cf3e","kind":"tag","published_at":"2024-09-09T14:37:21.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.1","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.1/manifests"},{"name":"v6.1.0","sha":"069867420ff7234bc5293418f22595e5d31d7cd8","kind":"tag","published_at":"2024-01-24T20:48:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.0/manifests"},{"name":"v6.0.0","sha":"1840215d432de837fec578bff36d7e14583550cd","kind":"tag","published_at":"2022-01-10T19:03:11.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.0.0/manifests"},{"name":"v5.1.1","sha":"f58dc9326b6bf311698194a851b5aa05cd6997b6","kind":"tag","published_at":"2020-05-05T22:18:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.1.1","html_url":"https://github.com/rails/activeresource/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"326b452d59e8b9207069642fa6f1bf2e9b3907f1","kind":"tag","published_at":"2018-11-02T15:29:29.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.0/manifests"},{"name":"v5.0.0","sha":"c7e6a3cd9d14d85377f6569e3fcfedfe282217df","kind":"tag","published_at":"2017-05-05T02:01:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.0.0/manifests"},{"name":"v4.1.0","sha":"c1f1e8ba1ed7a1b58440016d2f3cc4ef76d7aec9","kind":"commit","published_at":"2016-06-10T19:16:33.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"15089f9ea760996186c8c50a6e41d9813ca07802","kind":"commit","published_at":"2013-06-26T03:03:29.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0/manifests"},{"name":"v4.0.0.beta1","sha":"2921d3addb9cf05e7c781b9b69350a32c90ae28e","kind":"commit","published_at":"2013-03-03T23:23:16.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.0.0.beta1","html_url":"https://github.com/rails/activeresource/releases/tag/v4.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0.beta1/manifests"}]},"repo_metadata_updated_at":"2026-05-22T06:02:37.518Z","dependent_packages_count":405,"downloads":88802714,"downloads_period":"total","dependent_repos_count":179603,"rankings":{"downloads":0.2274729318361749,"dependent_repos_count":0.09756804674345736,"dependent_packages_count":0.11206387083105675,"stargazers_count":1.6514088825949755,"forks_count":1.438989306542077,"docker_downloads_count":1.7378262954248949,"average":0.8775548889954394},"purl":"pkg:gem/activeresource","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ2ajIteGpncC1qcmZt","url":"https://github.com/advisories/GHSA-46j2-xjgp-jrfm","title":"Information disclosure issue in Active Resource","description":"There is a possible information disclosure issue in Active Resource \u003cv5.1.1 that could allow an attacker to create specially crafted requests to access data in an unexpected way and possibly leak information.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-05-21T21:09:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-8151","https://github.com/rails/activeresource/commit/0de18f7e96fa90bbf23b16ac11980bc2cb6a716e","https://groups.google.com/forum/#!topic/rubyonrails-security/pktoF4VmiM8","https://github.com/rails/rails/commit/0e969bdaf8ff2e3384350687aa0b583f94d6dfbc","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/P7B7A4H22DZ522HLDS3JX3NX2CXIOZSR","https://github.com/advisories/GHSA-46j2-xjgp-jrfm"],"source_kind":"github","identifiers":["GHSA-46j2-xjgp-jrfm","CVE-2020-8151"],"repository_url":"https://github.com/rails/activeresource","blast_radius":0.0,"created_at":"2022-12-21T16:13:24.619Z","updated_at":"2026-04-05T20:03:12.486Z","epss_percentage":0.00286,"epss_percentile":0.51664,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ2ajIteGpncC1qcmZt","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ2ajIteGpncC1qcmZt","packages":[{"ecosystem":"rubygems","package_name":"activeresource","versions":[{"first_patched_version":"5.1.1","vulnerable_version_range":"\u003e= 3.0.0.rc, \u003c 5.1.1"}],"purl":"pkg:gem/activeresource"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ2ajIteGpncC1qcmZt/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/activeresource","docker_dependents_count":65,"docker_downloads_count":834973,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/activeresource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/activeresource/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-05-08T22:02:42.394Z","issues_count":61,"pull_requests_count":135,"avg_time_to_close_issue":10618963.421052631,"avg_time_to_close_pull_request":8770131.69,"issues_closed_count":57,"pull_requests_closed_count":100,"pull_request_authors_count":55,"issue_authors_count":51,"avg_comments_per_issue":3.1311475409836067,"avg_comments_per_pull_request":0.8444444444444444,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":710316.5714285715,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":21,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.39473684210526316,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/issues","maintainers":[{"login":"rafaelfranca","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"},{"login":"gmcgibbon","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gmcgibbon"},{"login":"amatsuda","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/amatsuda"},{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"}],"active_maintainers":[{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"},{"login":"rafaelfranca","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activeresource/codemeta","maintainers":[{"uuid":"43492","login":"jhawthorn","name":null,"email":null,"url":null,"packages_count":150,"html_url":"https://rubygems.org/profiles/jhawthorn","role":null,"created_at":"2022-11-07T12:40:29.394Z","updated_at":"2022-11-07T12:40:29.394Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jhawthorn/packages"},{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":189,"html_url":"https://rubygems.org/profiles/tenderlove","role":null,"created_at":"2022-11-07T12:40:29.421Z","updated_at":"2022-11-07T12:40:29.421Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tenderlove/packages"},{"uuid":"54617","login":"kamipo","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/kamipo","role":null,"created_at":"2022-11-07T12:40:29.388Z","updated_at":"2022-11-07T12:40:29.388Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/kamipo/packages"},{"uuid":"46413","login":"byroot","name":null,"email":null,"url":null,"packages_count":103,"html_url":"https://rubygems.org/profiles/byroot","role":null,"created_at":"2022-11-07T12:40:29.399Z","updated_at":"2022-11-07T12:40:29.399Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/byroot/packages"},{"uuid":"43998","login":"guilleiguaran","name":null,"email":null,"url":null,"packages_count":85,"html_url":"https://rubygems.org/profiles/guilleiguaran","role":null,"created_at":"2022-11-07T12:40:29.436Z","updated_at":"2022-11-07T12:40:29.436Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/guilleiguaran/packages"},{"uuid":"32977","login":"fxn","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/fxn","role":null,"created_at":"2022-11-07T12:40:29.416Z","updated_at":"2022-11-07T12:40:29.416Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/fxn/packages"},{"uuid":"429","login":"cantoniodasilva","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://rubygems.org/profiles/cantoniodasilva","role":null,"created_at":"2022-11-07T12:40:29.431Z","updated_at":"2022-11-07T12:40:29.431Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/cantoniodasilva/packages"},{"uuid":"47349","login":"rafaelfranca","name":null,"email":null,"url":null,"packages_count":120,"html_url":"https://rubygems.org/profiles/rafaelfranca","role":null,"created_at":"2022-11-07T12:40:29.426Z","updated_at":"2022-11-07T12:40:29.426Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/rafaelfranca/packages"},{"uuid":"528","login":"matthewd","name":null,"email":null,"url":null,"packages_count":66,"html_url":"https://rubygems.org/profiles/matthewd","role":null,"created_at":"2022-11-07T12:40:29.447Z","updated_at":"2022-11-07T12:40:29.447Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/matthewd/packages"},{"uuid":"96878","login":"eileencodes","name":null,"email":null,"url":null,"packages_count":53,"html_url":"https://rubygems.org/profiles/eileencodes","role":null,"created_at":"2022-11-07T12:40:29.452Z","updated_at":"2022-11-07T12:40:29.452Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/eileencodes/packages"},{"uuid":"2067","login":"sikachu","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://rubygems.org/profiles/sikachu","role":null,"created_at":"2022-11-07T12:40:29.442Z","updated_at":"2022-11-07T12:40:29.442Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/sikachu/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207283,"maintainers_count":68774,"namespaces_count":0,"keywords_count":18627,"github":"rubygems","metadata":{"funded_packages_count":7375},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-13T05:11:24.133Z","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":12177575,"name":"activeresource","ecosystem":"rubygems","description":"REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.","homepage":"http://www.rubyonrails.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rails/activeresource","keywords_array":[],"namespace":null,"versions_count":160,"first_release_published_at":"2009-07-25T18:35:33.000Z","latest_release_published_at":"2025-09-11T16:45:54.374Z","latest_release_number":"6.2.0","last_synced_at":"2026-05-22T21:31:16.323Z","created_at":"2025-10-06T21:24:19.167Z","updated_at":"2026-05-22T21:31:33.270Z","registry_url":"https://gem.coop/gems/activeresource","install_command":"gem install activeresource -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/activeresource/","metadata":{"funding":null},"repo_metadata":{"id":2716935,"uuid":"3711416","full_name":"rails/activeresource","owner":"rails","description":"Connects business objects and REST web services","archived":false,"fork":false,"pushed_at":"2026-01-06T18:54:14.000Z","size":1229,"stargazers_count":1400,"open_issues_count":11,"forks_count":363,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-05-15T21:44:01.741Z","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/rails.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","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":"2012-03-13T21:09:47.000Z","updated_at":"2026-05-13T15:04:46.000Z","dependencies_parsed_at":"2024-06-02T21:26:58.529Z","dependency_job_id":"48934958-21d2-4597-8be5-c7c252548c32","html_url":"https://github.com/rails/activeresource","commit_stats":{"total_commits":847,"total_committers":231,"mean_commits":"3.6666666666666665","dds":0.8630460448642266,"last_synced_commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rails/activeresource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/sbom","scorecard":{"id":759273,"data":{"date":"2025-08-11","repo":{"name":"github.com/rails/activeresource","commit":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/rubocop.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rubocop.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/rubocop.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/activeresource/rubocop.yml/main?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:3","Warn: containerImage not pinned by hash: .devcontainer/base.Dockerfile:3","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T22:49:10.246Z","repository_id":2716935,"created_at":"2025-08-22T22:49:10.246Z","updated_at":"2025-08-22T22:49:10.246Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33125182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"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":"rails","name":"Ruby on Rails","uuid":"4223","kind":"organization","description":"","email":null,"website":"https://rubyonrails.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4223?v=4","repositories_count":116,"last_synced_at":"2023-04-09T03:40:20.529Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rails","funding_links":[],"total_stars":114333,"followers":null,"following":null,"created_at":"2022-11-02T16:17:13.297Z","updated_at":"2023-04-09T03:40:20.550Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails/repositories"},"tags":[{"name":"v6.2.0","sha":"0019d7ded94f9e33efe4da6ae5e5bd4d6bb206eb","kind":"tag","published_at":"2025-09-11T16:43:40.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.2.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.2.0/manifests"},{"name":"v6.1.4","sha":"9c8a2ee30325ff0bf789a239cc25fa361ec4a887","kind":"tag","published_at":"2024-10-31T17:50:02.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.4","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.4/manifests"},{"name":"v6.1.3","sha":"db911dbfc792ff9923745da0ba309c2fec905a8b","kind":"tag","published_at":"2024-10-06T14:27:47.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.3","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.3/manifests"},{"name":"v6.1.2","sha":"9c2fbbb3740e8edec64109bedfe27274b8e5cdf1","kind":"tag","published_at":"2024-10-03T21:45:14.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.2","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.2/manifests"},{"name":"v6.1.1","sha":"a1f6a19652709f2da6aaa2559f7cd0a4f7d2cf3e","kind":"tag","published_at":"2024-09-09T14:37:21.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.1","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.1/manifests"},{"name":"v6.1.0","sha":"069867420ff7234bc5293418f22595e5d31d7cd8","kind":"tag","published_at":"2024-01-24T20:48:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.1.0/manifests"},{"name":"v6.0.0","sha":"1840215d432de837fec578bff36d7e14583550cd","kind":"tag","published_at":"2022-01-10T19:03:11.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v6.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v6.0.0/manifests"},{"name":"v5.1.1","sha":"f58dc9326b6bf311698194a851b5aa05cd6997b6","kind":"tag","published_at":"2020-05-05T22:18:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.1.1","html_url":"https://github.com/rails/activeresource/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"326b452d59e8b9207069642fa6f1bf2e9b3907f1","kind":"tag","published_at":"2018-11-02T15:29:29.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.1.0/manifests"},{"name":"v5.0.0","sha":"c7e6a3cd9d14d85377f6569e3fcfedfe282217df","kind":"tag","published_at":"2017-05-05T02:01:12.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v5.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v5.0.0/manifests"},{"name":"v4.1.0","sha":"c1f1e8ba1ed7a1b58440016d2f3cc4ef76d7aec9","kind":"commit","published_at":"2016-06-10T19:16:33.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.1.0","html_url":"https://github.com/rails/activeresource/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"15089f9ea760996186c8c50a6e41d9813ca07802","kind":"commit","published_at":"2013-06-26T03:03:29.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.0.0","html_url":"https://github.com/rails/activeresource/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0/manifests"},{"name":"v4.0.0.beta1","sha":"2921d3addb9cf05e7c781b9b69350a32c90ae28e","kind":"commit","published_at":"2013-03-03T23:23:16.000Z","download_url":"https://codeload.github.com/rails/activeresource/tar.gz/v4.0.0.beta1","html_url":"https://github.com/rails/activeresource/releases/tag/v4.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/activeresource@v4.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/tags/v4.0.0.beta1/manifests"}]},"repo_metadata_updated_at":"2026-05-22T21:31:33.250Z","dependent_packages_count":0,"downloads":88815979,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.46334150994821477,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":0.15444716998273825},"purl":"pkg:gem/activeresource?repository_url=https://gem.coop","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQ2ajIteGpncC1qcmZt","url":"https://github.com/advisories/GHSA-46j2-xjgp-jrfm","title":"Information disclosure issue in Active Resource","description":"There is a possible information disclosure issue in Active Resource \u003cv5.1.1 that could allow an attacker to create specially crafted requests to access data in an unexpected way and possibly leak information.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-05-21T21:09:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2020-8151","https://github.com/rails/activeresource/commit/0de18f7e96fa90bbf23b16ac11980bc2cb6a716e","https://groups.google.com/forum/#!topic/rubyonrails-security/pktoF4VmiM8","https://github.com/rails/rails/commit/0e969bdaf8ff2e3384350687aa0b583f94d6dfbc","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/P7B7A4H22DZ522HLDS3JX3NX2CXIOZSR","https://github.com/advisories/GHSA-46j2-xjgp-jrfm"],"source_kind":"github","identifiers":["GHSA-46j2-xjgp-jrfm","CVE-2020-8151"],"repository_url":"https://github.com/rails/activeresource","blast_radius":0.0,"created_at":"2022-12-21T16:13:24.619Z","updated_at":"2025-11-02T01:13:15.816Z","epss_percentage":0.0028,"epss_percentile":0.51211,"packages":[{"ecosystem":"rubygems","package_name":"activeresource","versions":[{"first_patched_version":"5.1.1","vulnerable_version_range":"\u003e= 3.0.0.rc, \u003c 5.1.1"}],"purl":"pkg:gem/activeresource","statistics":{"dependent_packages_count":405,"dependent_repos_count":179603,"downloads":85193096,"downloads_period":"total"},"affected_versions":["2.0.1","2.0.2","2.0.4","2.0.5","2.1.0","2.1.1","2.1.2","2.2.2","2.2.3","2.3.0","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9","2.3.10","2.3.11","2.3.12","2.3.14","2.3.15","2.3.16","2.3.17","2.3.18","3.0.0","3.0.1","3.0.10.rc1","3.0.12.rc1","3.0.13.rc1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.0.10","3.0.11","3.0.12","3.0.13","3.0.14","3.0.15","3.0.16","3.0.17","3.0.18","3.0.19","3.0.20","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.1.10","3.1.11","3.1.12","3.2.0","3.2.1","3.2.13.rc1","3.2.13.rc2","3.2.14.rc1","3.2.14.rc2","3.2.15.rc1","3.2.15.rc2","3.2.15.rc3","3.2.2","3.2.22.1","3.2.22.2","3.2.22.3","3.2.22.4","3.2.22.5","3.2.3","3.2.4","3.2.5","3.2.6","3.2.7","3.2.8","3.2.9","3.2.10","3.2.11","3.2.12","3.2.13","3.2.14","3.2.15","3.2.16","3.2.17","3.2.18","3.2.19","3.2.20","3.2.21","3.2.22","4.0.0","4.1.0","5.0.0","5.1.0"],"unaffected_versions":["5.1.1","6.0.0","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.2.0"]}]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/activeresource","docker_dependents_count":65,"docker_downloads_count":834973,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/activeresource","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/activeresource/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-08T22:02:42.394Z","issues_count":61,"pull_requests_count":135,"avg_time_to_close_issue":10618963.421052631,"avg_time_to_close_pull_request":8770131.69,"issues_closed_count":57,"pull_requests_closed_count":100,"pull_request_authors_count":55,"issue_authors_count":51,"avg_comments_per_issue":3.1311475409836067,"avg_comments_per_pull_request":0.8444444444444444,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":710316.5714285715,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":21,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.39473684210526316,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/issues","maintainers":[{"login":"rafaelfranca","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"},{"login":"gmcgibbon","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gmcgibbon"},{"login":"amatsuda","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/amatsuda"},{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"}],"active_maintainers":[{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"},{"login":"rafaelfranca","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/activeresource/codemeta","maintainers":[{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":190,"html_url":"https://gem.coop/profiles/tenderlove","role":null,"created_at":"2025-10-06T22:25:56.270Z","updated_at":"2025-10-06T22:25:56.270Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tenderlove/packages"},{"uuid":"43998","login":"guilleiguaran","name":null,"email":null,"url":null,"packages_count":85,"html_url":"https://gem.coop/profiles/guilleiguaran","role":null,"created_at":"2025-10-06T22:25:56.401Z","updated_at":"2025-10-06T22:25:56.401Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/guilleiguaran/packages"},{"uuid":"32977","login":"fxn","name":null,"email":null,"url":null,"packages_count":62,"html_url":"https://gem.coop/profiles/fxn","role":null,"created_at":"2025-10-06T22:25:56.230Z","updated_at":"2025-10-06T22:25:56.230Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/fxn/packages"},{"uuid":"429","login":"cantoniodasilva","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://gem.coop/profiles/cantoniodasilva","role":null,"created_at":"2025-10-06T22:25:56.345Z","updated_at":"2025-10-06T22:25:56.345Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/cantoniodasilva/packages"},{"uuid":"47349","login":"rafaelfranca","name":null,"email":null,"url":null,"packages_count":107,"html_url":"https://gem.coop/profiles/rafaelfranca","role":null,"created_at":"2025-10-06T22:25:56.306Z","updated_at":"2025-10-06T22:25:56.306Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/rafaelfranca/packages"},{"uuid":"528","login":"matthewd","name":null,"email":null,"url":null,"packages_count":66,"html_url":"https://gem.coop/profiles/matthewd","role":null,"created_at":"2025-10-06T22:25:56.479Z","updated_at":"2025-10-06T22:25:56.479Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/matthewd/packages"},{"uuid":"96878","login":"eileencodes","name":null,"email":null,"url":null,"packages_count":54,"html_url":"https://gem.coop/profiles/eileencodes","role":null,"created_at":"2025-10-06T22:25:56.518Z","updated_at":"2025-10-06T22:25:56.518Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/eileencodes/packages"},{"uuid":"46413","login":"byroot","name":null,"email":null,"url":null,"packages_count":105,"html_url":"https://gem.coop/profiles/byroot","role":null,"created_at":"2025-10-06T22:25:56.568Z","updated_at":"2025-10-06T22:25:56.568Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/byroot/packages"},{"uuid":"43492","login":"jhawthorn","name":null,"email":null,"url":null,"packages_count":150,"html_url":"https://gem.coop/profiles/jhawthorn","role":null,"created_at":"2025-10-06T22:25:56.628Z","updated_at":"2025-10-06T22:25:56.628Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jhawthorn/packages"},{"uuid":"54617","login":"kamipo","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://gem.coop/profiles/kamipo","role":null,"created_at":"2025-10-06T22:25:56.666Z","updated_at":"2025-10-06T22:25:56.666Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/kamipo/packages"},{"uuid":"2067","login":"sikachu","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://gem.coop/profiles/sikachu","role":null,"created_at":"2025-10-06T22:25:56.440Z","updated_at":"2025-10-06T22:25:56.440Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/sikachu/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192121,"maintainers_count":67783,"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":3074,"full_name":"rails/activeresource","default_branch":"main","total_commits":911,"total_committers":234,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":3.893162393162393,"dds":0.8726673984632272,"past_year_total_commits":59,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":9.833333333333334,"past_year_dds":0.3389830508474576,"last_synced_at":"2026-05-22T06:13:25.573Z","last_synced_commit":"34f6fcd4c771be6c879eb5dce8bfd9418af45015","created_at":"2023-03-07T09:16:31.909Z","updated_at":"2026-05-22T06:07:00.399Z","committers":[{"name":"Jeremy Kemper","email":"jeremy@bitsweat.net","login":"jeremy","count":116},{"name":"Rafael Mendonça França","email":"rafaelmfranca@gmail.com","login":"rafaelfranca","count":73},{"name":"David Heinemeier Hansson","email":"david@loudthinking.com","login":"dhh","count":61},{"name":"Sean Doyle","email":"sean.p.doyle24@gmail.com","login":"seanpdoyle","count":42},{"name":"Xavier Noria","email":"fxn@hashref.com","login":"fxn","count":27},{"name":"Joshua Peek","email":"josh@joshpeek.com","login":"josh","count":26},{"name":"Rick Olson","email":"technoweenie@gmail.com","login":"technoweenie","count":25},{"name":"Santiago Pastorino","email":"santiago@wyeworks.com","login":"spastorino","count":25},{"name":"Pratik Naik","email":"pratiknaik@gmail.com","login":"lifo","count":17},{"name":"José Valim","email":"jose.valim@gmail.com","login":"josevalim","count":15},{"name":"Arun Agrawal","email":"arunagw@gmail.com","login":"arunagw","count":14},{"name":"Jean Boussier","email":"jean.boussier@gmail.com","login":"byroot","count":13},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","count":11},{"name":"Jeffrey Hardy","email":"packagethief@gmail.com","login":"packagethief","count":10},{"name":"Prem Sichanugrist","email":"s@sikachu.com","login":"sikachu","count":10},{"name":"Gaston Ramos","email":"ramos.gaston@gmail.com","login":"gramos","count":9},{"name":"Vijay Dev","email":"vijaydev.cse@gmail.com","login":"vijaydev","count":8},{"name":"Josh Kalderimis","email":"josh.kalderimis@gmail.com","login":"joshk","count":8},{"name":"Guillermo Iguaran","email":"guilleiguaran@gmail.com","login":"guilleiguaran","count":8},{"name":"Phil Murray","email":"pmurray@nevada.net.nz","login":"meanphil","count":7},{"name":"Aaron Patterson","email":"aaron.patterson@gmail.com","login":"tenderlove","count":7},{"name":"Carl Lerche","email":"carllerche@mac.com","login":null,"count":7},{"name":"Michael Hewson","email":"michael@michaelhewson.ca","login":"mikeyhew","count":7},{"name":"Denzel Morris","email":"denzel.morris1@gmail.com","login":"denzel-morris","count":6},{"name":"Sebastian Martinez","email":"sebastian@wyeworks.com","login":"smartinez87","count":6},{"name":"Seth Faxon","email":"seth.faxon@gmail.com","login":"sfaxon","count":6},{"name":"Emilio Tagua","email":"miloops@gmail.com","login":"miloops","count":6},{"name":"taryn","email":"teast@globalpersonals.co.uk","login":null,"count":6},{"name":"Neeraj Singh","email":"neerajdotname@gmail.com","login":null,"count":6},{"name":"Markus Schwed","email":"ma.schwed@googlemail.com","login":"SweeD","count":6},{"name":"Tobias Lütke","email":"tobias.luetke@gmail.com","login":null,"count":5},{"name":"Francesco Rodriguez","email":"frodsan@me.com","login":"frodsan","count":5},{"name":"Geoff Garside","email":"geoff@geoffgarside.co.uk","login":"geoffgarside","count":5},{"name":"Mikel Lindsaar","email":"raasdnil@gmail.com","login":"mikel","count":5},{"name":"Muhammad Nawzad","email":"hama127n@gmail.com","login":"muhammadnawzad","count":4},{"name":"Michael Koziarski","email":"michael@koziarski.com","login":"NZKoz","count":4},{"name":"Jens Balvig","email":"jens@balvig.com","login":"balvig","count":4},{"name":"Jamis Buck","email":"jamis@37signals.com","login":"jamis","count":4},{"name":"Gannon McGibbon","email":"gannon.mcgibbon@gmail.com","login":"gmcgibbon","count":4},{"name":"Cheah Chu Yeow","email":"chuyeow@gmail.com","login":"chuyeow","count":4},{"name":"Bryan Helmkamp","email":"bryan@brynary.com","login":"brynary","count":4},{"name":"Justin Ramos","email":"jramos@changehealthcare.com","login":null,"count":4},{"name":"Tyler Kovacs","email":"tyler@squareup.com","login":null,"count":4},{"name":"Taryn East","email":"git@taryneast.org","login":"taryneast","count":3},{"name":"wycats","email":"wycats@gmail.com","login":"wycats","count":3},{"name":"Karunakar (Ruby)","email":"revurikarna@gmail.com","login":"Karunakar","count":3},{"name":"Jatinder Singh","email":"jatinder.saundh@gmail.com","login":"rubymerchant","count":3},{"name":"Ches Martin","email":"ches@whiskeyandgrits.net","login":"ches","count":3},{"name":"Carlos Duarte Do Nascimento","email":"carlos.nascimento@shopify.com","login":"chesterbr","count":3},{"name":"Carlos Antonio da Silva","email":"carlosantoniodasilva@gmail.com","login":"carlosantoniodasilva","count":3},{"name":"Cody Fauser","email":"cody@jadedpixel.com","login":null,"count":3},{"name":"Elomar França","email":"elomar@maisweb.org","login":null,"count":3},{"name":"Marcel Molina","email":"marcel@vernix.org","login":null,"count":3},{"name":"Paco Guzman","email":"fjguzman@aspgems.com","login":null,"count":3},{"name":"Vít Ondruch","email":"vondruch@redhat.com","login":"voxik","count":3},{"name":"Mauricio Carvalho","email":"maurcarvalho@gmail.com","login":"maurcarvalho","count":2},{"name":"Matthias Folz and Markus Schwed","email":"folz.matthias@googlemail.com","login":"surma-lodur","count":2},{"name":"Matheus Oliveira","email":"matheus.vetor@gmail.com","login":"matheusvetor","count":2},{"name":"Marshall Huss","email":"mwhuss@gmail.com","login":"mwhuss","count":2},{"name":"Mark McSpadden","email":"markmcspadden@gmail.com","login":"markmcspadden","count":2},{"name":"Marc G Gauthier","email":"marcg.gauthier@gmail.com","login":"marcgg","count":2},{"name":"Nick Plante","email":"nap@zerosum.org","login":"zapnap","count":2},{"name":"Pavel Penkov","email":"ebonfortress@gmail.com","login":"PavelPenkov","count":2},{"name":"Pedro Nascimento","email":"pnascimento@gmail.com","login":"lunks","count":2},{"name":"Phill MV","email":"phillmv@okayfail.com","login":"phillmv","count":2},{"name":"Jaime Iniesta","email":"jaimeiniesta@gmail.com","login":"jaimeiniesta","count":2},{"name":"Javier Saldana","email":"javier@tractical.com","login":"jassa","count":2},{"name":"John Mileham","email":"jmileham@gmail.com","login":"jmileham","count":2},{"name":"Sergey Nartimov","email":"just.lest@gmail.com","login":"lest","count":2},{"name":"robertomiranda","email":"rjmaltamar@gmail.com","login":"robertomiranda","count":2},{"name":"kennyj","email":"kennyj@gmail.com","login":"kennyj","count":2},{"name":"claudiob","email":"claudiob@gmail.com","login":"claudiob","count":2},{"name":"adrian-gomez","email":"adri4n.steam@gmail.com","login":"adrian-gomez","count":2},{"name":"Tamir Duberstein","email":"tamird@gmail.com","login":"tamird","count":2},{"name":"Stefan Vermaas","email":"stefanvermaas@pm.me","login":"stefanvermaas","count":2},{"name":"Roque Pinel","email":"repinel@gmail.com","login":"repinel","count":2},{"name":"Rasik Pandey","email":"rbpandey@gmail.com","login":"bigsur0","count":2},{"name":"Rashmi Yadav","email":"rays.rashmi@gmail.com","login":"raysrashmi","count":2},{"name":"R.T. Lechow","email":"rtlechow@gmail.com","login":"rtlechow","count":2},{"name":"Yehuda Katz + Carl Lerche","email":"ykatz+clerche@engineyard.com","login":null,"count":2},{"name":"Peter McCracken","email":"peter.mccracken@jadedpixel.com","login":null,"count":2},{"name":"Peter McCracken","email":"peter.mccracken@shopify.com","login":null,"count":2},{"name":"James Brady","email":"jcb@squareup.com","login":null,"count":2},{"name":"Carlhuda","email":"carlhuda@engineyard.com","login":null,"count":2},{"name":"Clemens Kofler","email":"clemens@railway.at","login":null,"count":2},{"name":"Jacques Crocker","email":"railsjedi@gmail.com","login":null,"count":2},{"name":"sandeepravi","email":"sandeep.ravichandran@sourcebits.com","login":"sandeepr-sourcebits","count":2},{"name":"Ivan Filho","email":"ivan05filho@gmail.com","login":"ivan05almeida","count":2},{"name":"Gary Moore","email":"gary.moore@gmail.com","login":"gmoore","count":2},{"name":"Franck Verrot","email":"franck@verrot.fr","login":"franckverrot","count":2},{"name":"Filipe Abreu","email":"filabreu@gmail.com","login":"filabreu","count":2},{"name":"Chris Beer","email":"cabeer@stanford.edu","login":"cbeer","count":2},{"name":"Chad Woolley","email":"thewoolleyman@gmail.com","login":"thewoolleyman","count":2},{"name":"Caike Souza","email":"carloshrsouza@gmail.com","login":"caike","count":2},{"name":"Bratish Goswami","email":"bratishgoswami@gmail.com","login":"bratish","count":2},{"name":"Bernardo Araujo","email":"bernardo.amc@gmail.com","login":"bernardoamc","count":2},{"name":"Adrian Rangel","email":"adrian.rangel@gmail.com","login":"acrogenesis","count":2},{"name":"Lourens Naudé","email":"lourens@methodmissing.com","login":"methodmissing","count":2},{"name":"Lachlan Sylvester","email":"lachlan.sylvester@hypothetical.com.au","login":"lsylvester","count":2},{"name":"Kent Jordan","email":"rjordan@pobox.com","login":"rjordan","count":2},{"name":"Ken Mazaika","email":"kmazaika@gmail.com","login":"kenmazaika","count":2},{"name":"Josef Reidinger","email":"jreidinger@suse.cz","login":"jreidinger","count":2},{"name":"Jose Donizetti","email":"jdbjunior@gmail.com","login":"josedonizetti","count":2},{"name":"Jon Leighton","email":"j@jonathanleighton.com","login":"jonleighton","count":2},{"name":"Lukáš Pokorný","email":"luk4s.pokorny@gmail.com","login":"luk4s","count":2},{"name":"Jason Karns","email":"jason.karns@gmail.com","login":"jasonkarns","count":2},{"name":"Edouard CHIN","email":"chin.edouard@gmail.com","login":"Edouard-chin","count":2},{"name":"Lee Reilly","email":"lee@leereilly.net","login":"leereilly","count":1},{"name":"Ryan Bigg","email":"radarlistener@gmail.com","login":"radar","count":1},{"name":"Sachin87","email":"singhsachin87@yahoo.com","login":"sachin87","count":1},{"name":"Salva Revert","email":"salva@peertransfer.com","login":"salrepe","count":1},{"name":"Sean Mandegar","email":"sean@rewind.io","login":"smandegar","count":1},{"name":"Stefan Penner","email":"stefan.penner@gmail.com","login":"stefanpenner","count":1},{"name":"Sukeerthi Adiga","email":"sukeerthiadiga@gmail.com","login":"sukeerthiadiga","count":1},{"name":"prasath","email":"prasath@dhcppc1.(none)","login":null,"count":1},{"name":"pivotal","email":"pivotal@shotwell.flood.pivotallabs.com","login":null,"count":1},{"name":"Yehuda Katz","email":"yehudakatz@YK.local","login":null,"count":1},{"name":"Vishnu Atrai","email":"me@vishnuatrai.com","login":null,"count":1},{"name":"Sean Handley","email":"sean.handley@melbourne.co.uk","login":null,"count":1},{"name":"Sasha Shamne \u0026 Rob Head","email":"development@sweetyhigh.com","login":null,"count":1},{"name":"Robert Ross","email":"robert@maintainedauto.com","login":null,"count":1},{"name":"Morgan Showman","email":"mshowman@squaremouth.com","login":null,"count":1},{"name":"Nathan Broadbent","email":"nathan.f77@gmail.com","login":"ndbroadbent","count":1},{"name":"Nicholas La Roux","email":"larouxn@gmail.com","login":"larouxn","count":1},{"name":"Nishutosh Sharma","email":"nishutosh.sharma@trantorinc.com","login":"om-nishu-trantor","count":1},{"name":"OKURA Masafumi","email":"masafumi.o1988@gmail.com","login":"okuramasafumi","count":1},{"name":"Oemuer Oezkir","email":"oemuer.oezkir@gmail.com","login":"oem","count":1},{"name":"Omar Bahareth","email":"omar@omar.engineer","login":"obahareth","count":1},{"name":"Paolo \"Nusco\" Perrotta","email":"paolo.nusco.perrotta@gmail.com","login":"nusco","count":1},{"name":"Pedro Fayolle","email":"pfayolle@gmail.com","login":"pilaf","count":1},{"name":"Pierre Paridans","email":"pierre@paridans.com","login":"pparidans","count":1},{"name":"Pierre Rioux","email":"pierre.rioux@mcgill.ca","login":"prioux","count":1},{"name":"Pirogov Evgenij","email":"iamexile@gmail.com","login":"gmile","count":1},{"name":"Rahul P. Chaudhari","email":"rahul100885@gmail.com","login":"rahul100885","count":1},{"name":"Ralf Ebert","email":"info@ralfebert.de","login":"ralfebert","count":1},{"name":"Ralin Chimev","email":"ralin.chimev@gmail.com","login":"ralinc","count":1},{"name":"Rick Fletcher","email":"fletch@pobox.com","login":"rfletcher","count":1},{"name":"Roy Nicholson","email":"nicholson.roy@gmail.com","login":"rnicholson","count":1},{"name":"Tarmo Tänav","email":"tarmo@itech.ee","login":"tarmo","count":1},{"name":"Thiago Pradi","email":"tchandy@gmail.com","login":"thiagopradi","count":1},{"name":"Tobias Kraze","email":"tobias.kraze@makandra.de","login":"kratob","count":1},{"name":"Vsevolod Voloshyn","email":"seva.voloshin@gmail.com","login":"Volosh1n","count":1},{"name":"Waynn Lue","email":"WLGades@gmail.com","login":"waynn","count":1},{"name":"Weston Platter","email":"westonplatter","login":"westonplatter","count":1},{"name":"Wilson de Almeida","email":"wilsondealmeida@gmail.com","login":"wilsondealmeida","count":1},{"name":"York Yang","email":"ysyyork@gmail.com","login":"ysyyork","count":1},{"name":"Yury Velikanau","email":"yury.velikanau@gmail.com","login":"spectator","count":1},{"name":"eileencodes","email":"eileencodes@gmail.com","login":"eileencodes","count":1},{"name":"jplethier","email":"jplethier@gmail.com","login":"jplethier","count":1},{"name":"maclover7","email":"me@jonathanmoss.me","login":"maclover7","count":1},{"name":"marisveide","email":"maris.veide@gmail.com","login":"marisveide","count":1},{"name":"printercu","email":"printercu@gmail.com","login":"printercu","count":1},{"name":"raggi","email":"jftucker@gmail.com","login":"raggi","count":1},{"name":"yui-knk","email":"spiketeika@gmail.com","login":"yui-knk","count":1},{"name":"Andrew Clemons","email":"andrew.clemons@gmail.com","login":"aclemons","count":1},{"name":"Mike Gunderloy","email":"MikeG1@larkfarm.com","login":null,"count":1},{"name":"Matthew Moore","email":"matt@thrivesmart.com","login":null,"count":1},{"name":"Marshall Huss","email":"mwhuss@Macbook.local","login":null,"count":1},{"name":"Lucian Cancescu","email":"lcancescu@digidentity.eu","login":null,"count":1},{"name":"Kristian Freeman","email":"kristianfreeman@gmail.com","login":null,"count":1},{"name":"Josh Bassett","email":"josh.bassett@gmail.com","login":null,"count":1},{"name":"Jordan Brough","email":"jordan@animoto.com","login":null,"count":1},{"name":"Jay Shepherd","email":"jshepherd@Macintosh-70.local","login":null,"count":1},{"name":"Denis Odorcic","email":"denis.odorcic@jadedpixel.com","login":null,"count":1},{"name":"David Trasbo","email":"me@dtrasbo.com","login":null,"count":1},{"name":"David Heinemeier Hansson","email":"david@envy8-2.local","login":null,"count":1},{"name":"Colin Shield \u0026 Ian Lesperance","email":"pair+colin+ilesperance@pivotallabs.com","login":null,"count":1},{"name":"Cody Fauser","email":"codyfauser@gmail.com","login":null,"count":1},{"name":"Andy Chambers","email":"andy@where.com","login":null,"count":1},{"name":"Alberto Almagro","email":"alberto.almagro@rakuten.com","login":null,"count":1},{"name":"Andrew Nesbitt","email":"andrewnez@gmail.com","login":"andrew","count":1},{"name":"Lucas Klaassen","email":"lucasklaassen","login":"lucasklaassen","count":1},{"name":"Evan Farrar","email":"evanfarrar@gmail.com","login":"evanfarrar","count":1},{"name":"Eric Lathrop","email":"eric@ericlathrop.com","login":"ericlathrop","count":1},{"name":"Eito Katagiri","email":"eitoball@gmail.com","login":"eitoball","count":1},{"name":"Eisuke Yoshida","email":"ekusie.yeongjo@outlook.com","login":"eisukeyeongjo","count":1},{"name":"Edgar J. Suarez","email":"edgar.js@gmail.com","login":"edgarjs","count":1},{"name":"Earlopain","email":"14981592+Earlopain","login":"Earlopain","count":1},{"name":"Dylan Smith","email":"Dylan.Smith@shopify.com","login":"dylanahsmith","count":1},{"name":"Donal McBreen","email":"donal@37signals.com","login":"djmb","count":1},{"name":"Diego Carrion","email":"dc.rec1@gmail.com","login":"dcrec1","count":1},{"name":"David Stosik","email":"davidstosik","login":"davidstosik","count":1},{"name":"David Lozano","email":"david@baldurian.net","login":"dlozano","count":1},{"name":"David Lee","email":"davidomundo@gmail.com","login":"dlee","count":1},{"name":"Chris Markle","email":"cmarkle@comcast.net","login":"cmarkle","count":1},{"name":"Chris Griego","email":"cgriego@gmail.com","login":"cgriego","count":1},{"name":"Carl Lerche","email":"me@carllerche.com","login":"carllerche","count":1},{"name":"Brett Gibson","email":"bdg@brettdgibson.com","login":"brettg","count":1},{"name":"Brendan Schwartz","email":"brendanschwartz@gmail.com","login":"bschwartz","count":1},{"name":"Brandon Conway","email":"brandon.conway@shopify.com","login":"brandoncc","count":1},{"name":"Bradley Priest","email":"bradleypriest@gmail.com","login":"bradleypriest","count":1},{"name":"Bob Aman","email":"bob@sporkmonger.com","login":"sporkmonger","count":1},{"name":"Bertrand Braschi","email":"bertrand.braschi@shopify.com","login":"bbraschi","count":1},{"name":"Bas Vodde","email":"basv@odd-e.com","login":"basvodde","count":1},{"name":"Andreas Garnæs","email":"andreas.garnaes@gmail.com","login":"andreas","count":1},{"name":"Alexey Mahotkin","email":"squadette@gmail.com","login":"squadette","count":1},{"name":"Alex Willemsma","email":"alexw@smile.io","login":"undergroundwebdesigns","count":1},{"name":"Alex Wayne","email":"alex@beautifulpixel.com","login":"AlexJWayne","count":1},{"name":"Aileen McDonald","email":"aileen.mcdonald@shopify.com","login":"ammcd","count":1},{"name":"Adrien Kiren","email":"adrien.kiren@gmail.com","login":"adrien-k","count":1},{"name":"Adrian Mugnolo","email":"adrian@mugnolo.com","login":"xymbol","count":1},{"name":"Aaron Glenn","email":"aaron@aaronglenn.ca","login":"beautifulcode","count":1},{"name":"Łukasz Strzałkowski","email":"lukasz.strzalkowski@gmail.com","login":"lukaszx0","count":1},{"name":"Mike Abner","email":"mike.abner@gmail.com","login":"MikeAbner","count":1},{"name":"Matthijs Langenberg","email":"mlangenberg@gmail.com","login":"mlangenberg","count":1},{"name":"Matt Jones","email":"al2o3cr@gmail.com","login":"al2o3cr","count":1},{"name":"Matt Edlefsen","email":"matt.edlefsen@gmail.com","login":"medlefsen","count":1},{"name":"Masatsugu Shimojo","email":"shimojo.masatsugu@gmail.com","login":"shimojomasatsugu","count":1},{"name":"Mark Campbell","email":"nitrodist@gmail.com","login":"Nitrodist","count":1},{"name":"Maria Kravtsova","email":"me@mariakravtsova.us","login":"maria-kravtsova","count":1},{"name":"Luis Hurtado","email":"luisfelipehurtado@gmail.com","login":"luishurtado","count":1},{"name":"Leandro Maríngolo","email":"leandronsp@gmail.com","login":"leandronsp","count":1},{"name":"Kyle Huston","email":"kyle.huston@infotechinc.com","login":"khuston","count":1},{"name":"Kyle Adams","email":"kadams54","login":"kadams54","count":1},{"name":"Korstiaan de Ridder","email":"korstiaan@korstiaan.com","login":"korstiaan","count":1},{"name":"Justin George","email":"justin.george@gmail.com","login":"jaggederest","count":1},{"name":"Jordan Bach","email":"jordanbach@gmail.com","login":"jbgo","count":1},{"name":"Joost Baaij","email":"joost@spacebabies.nl","login":"tilsammans","count":1},{"name":"Jon G","email":"jtgrenz","login":"jtgrenz","count":1},{"name":"John Bampton","email":"jbampton@gmail.com","login":"jbampton","count":1},{"name":"Joel Niedfeldt","email":"joel@niedfeldt.com","login":"niedfelj","count":1},{"name":"Joe Marty","email":"josephmarty@gmail.com","login":"mltsy","count":1},{"name":"Jim Herzberg","email":"jimmiesh@gmail.com","login":"jimherz","count":1},{"name":"Jerome Dalbert","email":"jerome.dalbert@gmail.com","login":"jeromedalbert","count":1},{"name":"Jeroen Visser","email":"jeroenvisser101","login":"jeroenvisser101","count":1},{"name":"James Ciesielski","email":"james@rewind.io","login":"seashellski","count":1},{"name":"Jaison Erick","email":"jaisonreis@gmail.com","login":"jaisonerick","count":1},{"name":"Igor Ladkin","email":"dgkplan@googlemail.com","login":"igor-ladkin","count":1},{"name":"Igor","email":"fedoronchuk@gmail.com","login":"Fivell","count":1},{"name":"Grzegorz Forysinski","email":"grzegorz.forysinski@u2i.com","login":"GrzesF","count":1},{"name":"Gaël Deest","email":"gael.deest@gmail.com","login":"gdeest","count":1},{"name":"Florian Wininger","email":"fw.centrale@gmail.com","login":"fwininger","count":1},{"name":"Fabien Jakimowicz","email":"fabien@jakimowicz.com","login":"jakimowicz","count":1},{"name":"Evgeniy Dolzhenko","email":"dolzenko@gmail.com","login":"dolzenko","count":1}],"past_year_committers":[{"name":"Sean Doyle","email":"sean.p.doyle24@gmail.com","login":"seanpdoyle","count":39},{"name":"Rafael Mendonça França","email":"rafael@rubyonrails.org","login":"rafaelfranca","count":16},{"name":"Kyle Huston","email":"kyle.huston@infotechinc.com","login":"khuston","count":1},{"name":"Gannon McGibbon","email":"gannon.mcgibbon@gmail.com","login":"gmcgibbon","count":1},{"name":"Edouard CHIN","email":"chin.edouard@gmail.com","login":"Edouard-chin","count":1},{"name":"Donal McBreen","email":"donal@37signals.com","login":"djmb","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-23T00:00:39.628Z","repositories_count":6239009,"commits_count":884686581,"contributors_count":34900440,"owners_count":1156361,"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":"rails/activeresource","html_url":"https://github.com/rails/activeresource","last_synced_at":"2026-05-08T22:02:42.394Z","status":"active","issues_count":61,"pull_requests_count":135,"avg_time_to_close_issue":10618963.421052631,"avg_time_to_close_pull_request":8770131.69,"issues_closed_count":57,"pull_requests_closed_count":100,"pull_request_authors_count":55,"issue_authors_count":51,"avg_comments_per_issue":3.1311475409836067,"avg_comments_per_pull_request":0.8444444444444444,"merged_pull_requests_count":73,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":38,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":710316.5714285715,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":21,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.39473684210526316,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":17,"created_at":"2023-05-12T07:28:34.802Z","updated_at":"2026-05-08T22:02:42.394Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Factiveresource/issues","issue_labels_count":{"stale":25},"pull_request_labels_count":{"stale":14,"need more info":1},"issue_author_associations_count":{"NONE":51,"CONTRIBUTOR":10},"pull_request_author_associations_count":{"CONTRIBUTOR":78,"NONE":49,"MEMBER":8},"issue_authors":{"noctivityinc":4,"tolgap":2,"luk4s":2,"simmerz":2,"ivan05almeida":2,"ktimothy":2,"fabianof":2,"marisveide":2,"andyw8":1,"cmarkle":1,"poloka":1,"voxik":1,"ravi-bebble":1,"igor-ladkin":1,"JohnSmall":1,"vasudharsai":1,"yhk1038":1,"nickivanov":1,"wilsondealmeida":1,"anark":1,"differencialx":1,"glennfu":1,"Cremz":1,"jcohenho":1,"PedroAugustoRamalhoDuarte":1,"patriciobi":1,"mauro-ni":1,"mltsy":1,"chapmajs":1,"david-fluxster":1,"jlurena":1,"mehmetdavut":1,"prostko":1,"vibro":1,"mihaijurca":1,"andrisbriedis":1,"reaper":1,"oatw":1,"niedfelj":1,"elbowdonkey":1,"tbhockey":1,"twnaing":1,"brlafreniere":1,"brandoncc":1,"cjekal":1,"ojsdude":1,"and0x000":1,"coding-bunny":1,"yaingnan":1,"marino-mrc":1,"arrowcircle":1},"pull_request_authors":{"seanpdoyle":57,"casperisfine":6,"balvig":5,"josedonizetti":3,"Schwad":3,"rafaelfranca":3,"Earlopain":2,"adrian-gomez":2,"islue":2,"jlurena":2,"Volosh1n":2,"ivan05almeida":2,"muhammadnawzad":2,"igor-ladkin":2,"gmcgibbon":2,"bradleypriest":1,"marisveide":1,"faultier92":1,"Edouard-chin":1,"djmb":1,"kirillplatonov":1,"adrien-k":1,"Eosis":1,"wilsondealmeida":1,"bbraschi":1,"eitoball":1,"maria-kravtsova":1,"davidstosik":1,"DonaldGoose":1,"ysyyork":1,"ghost":1,"and0x000":1,"khuston":1,"aclemons":1,"stefanvermaas":1,"filabreu":1,"smondal":1,"elbowdonkey":1,"obahareth":1,"maurcarvalho":1,"SergeyBurtsev":1,"voxik":1,"odlp":1,"okuramasafumi":1,"larouxn":1,"pilaf":1,"meanphil":1,"ArthurWD":1,"flavorjones":1,"armansa":1,"denis":1,"jbampton":1,"amatsuda":1,"brandoncc":1,"m0n9oose":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-21T00:00:41.637Z","repositories_count":14651702,"issues_count":34163206,"pull_requests_count":111843586,"authors_count":11267868,"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":{"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":28,"NONE":7,"MEMBER":3},"past_year_issue_authors":{"david-fluxster":1,"simmerz":1},"past_year_pull_request_authors":{"seanpdoyle":30,"Schwad":3,"djmb":1,"Edouard-chin":1,"flavorjones":1,"khuston":1,"rafaelfranca":1},"maintainers":[{"login":"rafaelfranca","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"},{"login":"gmcgibbon","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gmcgibbon"},{"login":"amatsuda","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/amatsuda"},{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"}],"active_maintainers":[{"login":"Edouard-chin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Edouard-chin"},{"login":"flavorjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flavorjones"},{"login":"rafaelfranca","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaelfranca"}]},"events":{"total":{"ReleaseEvent":1,"PullRequestEvent":59,"ForkEvent":5,"IssuesEvent":4,"WatchEvent":48,"IssueCommentEvent":33,"PushEvent":32,"PullRequestReviewEvent":41,"PullRequestReviewCommentEvent":44,"CreateEvent":3},"last_year":{"ReleaseEvent":1,"PullRequestEvent":41,"ForkEvent":2,"IssuesEvent":3,"WatchEvent":15,"IssueCommentEvent":16,"PushEvent":29,"PullRequestReviewCommentEvent":16,"PullRequestReviewEvent":20,"CreateEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-07-05T19:34:06.064Z","updated_at":"2023-07-05T19:34:06.064Z","repository_link":"https://github.com/rails/activeresource/blob/main/.github/workflows/ci.yml","dependencies":[{"id":11147968524,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11147968525,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/rubocop.yml","sha":null,"kind":"manifest","created_at":"2023-07-05T19:34:06.081Z","updated_at":"2023-07-05T19:34:06.081Z","repository_link":"https://github.com/rails/activeresource/blob/main/.github/workflows/rubocop.yml","dependencies":[{"id":11147968526,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11147968527,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":".devcontainer/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-07-05T19:34:06.094Z","updated_at":"2023-07-05T19:34:06.094Z","repository_link":"https://github.com/rails/activeresource/blob/main/.devcontainer/Dockerfile","dependencies":[{"id":11147968641,"package_name":"mcr.microsoft.com/vscode/devcontainers/ruby","ecosystem":"docker","requirements":"0-${VARIANT}","direct":true,"kind":"build","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2023-07-05T19:34:08.087Z","updated_at":"2023-07-05T19:34:08.087Z","repository_link":"https://github.com/rails/activeresource/blob/main/Gemfile","dependencies":[{"id":11147969055,"package_name":"rubocop","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969056,"package_name":"rubocop-minitest","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969057,"package_name":"rubocop-packaging","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969058,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969059,"package_name":"rubocop-rails","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969060,"package_name":"minitest-bisect","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":11147969061,"package_name":"ruby-prof","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"activeresource.gemspec","sha":null,"kind":"manifest","created_at":"2023-07-05T19:34:08.167Z","updated_at":"2023-07-05T19:34:08.167Z","repository_link":"https://github.com/rails/activeresource/blob/main/activeresource.gemspec","dependencies":[{"id":11147969064,"package_name":"activesupport","ecosystem":"rubygems","requirements":"\u003e= 6.0","direct":true,"kind":"runtime","optional":false},{"id":11147969065,"package_name":"activemodel","ecosystem":"rubygems","requirements":"\u003e= 6.0","direct":true,"kind":"runtime","optional":false},{"id":11147969066,"package_name":"activemodel-serializers-xml","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false},{"id":11147970392,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":11147970393,"package_name":"mocha","ecosystem":"rubygems","requirements":"\u003e= 0.13.0","direct":true,"kind":"development","optional":false},{"id":11147970394,"package_name":"rexml","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]}],"score":31.712886934975366,"created_at":"2024-12-15T21:38:07.813Z","updated_at":"2026-05-24T05:30:24.110Z","avatar_url":"https://github.com/rails.png","language":"Ruby","monthly_downloads":0,"readme":"# Active Resource\n\nActive Resource (ARes) connects business objects and Representational State Transfer (REST)\nweb services. It implements object-relational mapping for REST web services to provide transparent\nproxying capabilities between a client (Active Resource) and a RESTful service (which is provided by\nRESTful routing in [ActionDispatch::Routing::Mapper::Resources](https://edgeapi.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Resources.html)).\n\n## Philosophy\n\nActive Resource attempts to provide a coherent wrapper object-relational mapping for REST\nweb services. It follows the same philosophy as Active Record, in that one of its prime aims\nis to reduce the amount of code needed to map to these resources.  This is made possible\nby relying on a number of code- and protocol-based conventions that make it easy for Active Resource\nto infer complex relations and structures. These conventions are outlined in detail in the documentation\nfor `ActiveResource::Base`.\n\n## Overview\n\nModel classes are mapped to remote REST resources by Active Resource much the same way Active Record maps\nmodel classes to database tables. When a request is made to a remote resource, a REST JSON request is\ngenerated, transmitted, and the result received and serialized into a usable Ruby object.\n\n## Download and installation\n\nThe latest version of Active Resource can be installed with RubyGems:\n\n```\ngem install activeresource\n```\n\nOr added to a Gemfile:\n\n```ruby\ngem 'activeresource'\n```\n\nSource code can be downloaded on GitHub\n\n* https://github.com/rails/activeresource/tree/main\n\n### Configuration and Usage\n\nPutting Active Resource to use is very similar to Active Record. It's as simple as creating a model class\nthat inherits from `ActiveResource::Base` and providing a `site` class variable to it:\n\n```ruby\nclass Person \u003c ActiveResource::Base\n  self.site = \"http://api.people.com:3000\"\nend\n```\n\nNow the Person class is REST enabled and can invoke REST services very similarly to how Active Record invokes\nlife cycle methods that operate against a persistent store.\n\n```ruby\n# Find a person with id = 1\ntyler = Person.find(1)\nPerson.exists?(1)  # =\u003e true\n```\n\nAs you can see, the methods are quite similar to Active Record's methods for dealing with database\nrecords. But rather than dealing directly with a database record, you're dealing with HTTP resources\n(which may or may not be database records).\n\nConnection settings (`site`, `headers`, `user`, `password`, `bearer_token`, `proxy`) and the connections\nthemselves are store in thread-local variables to make them thread-safe, so you can also set these\ndynamically, even in a multi-threaded environment, for instance:\n\n```ruby\nActiveResource::Base.site = api_site_for(request)\n```\n### Authentication\n\nActive Resource supports the token based authentication provided by Rails through the\n`ActionController::HttpAuthentication::Token` class using custom headers.\n\n```ruby\nclass Person \u003c ActiveResource::Base\n  self.headers['Authorization'] = 'Token token=\"abcd\"'\nend\n```\n\nYou can also set any specific HTTP header using the same way.  As mentioned above, headers are\nthread-safe, so you can set headers dynamically, even in a multi-threaded environment:\n\n```ruby\nActiveResource::Base.headers['Authorization'] = current_session_api_token\n```\n\nActive Resource supports 2 options for HTTP authentication today.\n\n1. Basic\n```ruby\nclass Person \u003c ActiveResource::Base\n  self.user = 'my@email.com'\n  self.password = '123'\nend\n# username: my@email.com password: 123\n```\n\n2. Bearer Token\n```ruby\nclass Person \u003c ActiveResource::Base\n  self.auth_type = :bearer\n  self.bearer_token = 'my-token123'\nend\n# Bearer my-token123\n```\n\n### Protocol\n\nActive Resource is built on a standard JSON or XML format for requesting and submitting resources\nover HTTP. It mirrors the RESTful routing built into Action Controller but will also work with any\nother REST service that properly implements the protocol. REST uses HTTP, but unlike \"typical\" web\napplications, it makes use of all the verbs available in the HTTP specification:\n\n* GET requests are used for finding and retrieving resources.\n* POST requests are used to create new resources.\n* PUT requests are used to update existing resources.\n* DELETE requests are used to delete resources.\n\nFor more information on how this protocol works with Active Resource, see the `ActiveResource::Base` documentation;\nfor more general information on REST web services, see the article\n[here](http://en.wikipedia.org/wiki/Representational_State_Transfer).\n\n### Find\n\nFind requests use the GET method and expect the JSON form of whatever resource/resources is/are\nbeing requested. So, for a request for a single element, the JSON of that item is expected in\nresponse:\n\n```ruby\n# Expects a response of\n#\n# {\"id\":1,\"first_name\":\"Tyler\",\"last_name\":\"Durden\"}\n#\n# for GET http://api.people.com:3000/people/1.json\n#\ntyler = Person.find(1)\n```\n\nThe JSON document that is received is used to build a new object of type Person, with each\nJSON element becoming an attribute on the object.\n\n```ruby\ntyler.is_a? Person  # =\u003e true\ntyler.last_name  # =\u003e 'Durden'\n```\n\nAny complex element (one that contains other elements) becomes its own object:\n\n```ruby\n# With this response:\n# {\"id\":1,\"first_name\":\"Tyler\",\"address\":{\"street\":\"Paper St.\",\"state\":\"CA\"}}\n#\n# for GET http://api.people.com:3000/people/1.json\n#\ntyler = Person.find(1)\ntyler.address  # =\u003e \u003cPerson::Address::xxxxx\u003e\ntyler.address.street  # =\u003e 'Paper St.'\n```\n\nCollections can also be requested in a similar fashion\n\n```ruby\n# Expects a response of\n#\n# [\n#   {\"id\":1,\"first_name\":\"Tyler\",\"last_name\":\"Durden\"},\n#   {\"id\":2,\"first_name\":\"Tony\",\"last_name\":\"Stark\",}\n# ]\n#\n# for GET http://api.people.com:3000/people.json\n#\npeople = Person.all\npeople.first  # =\u003e \u003cPerson::xxx 'first_name' =\u003e 'Tyler' ...\u003e\npeople.last  # =\u003e \u003cPerson::xxx 'first_name' =\u003e 'Tony' ...\u003e\n```\n\nCollections can be filtered with query parameters\n\n```ruby\n# Expects a response of\n#\n# [\n#   {\"id\":1,\"first_name\":\"Tyler\",\"last_name\":\"Durden\"},\n# ]\n#\n# for GET http://api.people.com:3000/people.json?last_name=Durden\n#\npeople = Person.where(last_name: \"Durden\")\npeople.first  # =\u003e \u003cPerson::xxx 'first_name' =\u003e 'Tyler' ...\u003e\n```\n\n##### A note on finding all resources\n\nPreviously, Active Resource would eagerly load resources when `Person.all` was called. This behaviour is now\ndeprecated and Active Resource now lazy loads collections. The http request is deferred until the collection is\nexplicitly accessed.\n\nYou can opt-in to the new behaviour by setting the `ActiveResource::Base.lazy_collections = false`.\nNote that this setting is temporary to allow your application to progressivly transition to the new behaviour.\nThis setting will be removed in the next versions of Active Resource.\n\n### Create\n\nCreating a new resource submits the JSON form of the resource as the body of the request and expects\na 'Location' header in the response with the RESTful URL location of the newly created resource. The\nid of the newly created resource is parsed out of the Location response header and automatically set\nas the id of the ARes object.\n\n```ruby\n# {\"first_name\":\"Tyler\",\"last_name\":\"Durden\"}\n#\n# is submitted as the body on\n#\n# if include_root_in_json is not set or set to false =\u003e {\"first_name\":\"Tyler\"}\n# if include_root_in_json is set to true =\u003e {\"person\":{\"first_name\":\"Tyler\"}}\n#\n# POST http://api.people.com:3000/people.json\n#\n# when save is called on a new Person object.  An empty response is\n# is expected with a 'Location' header value:\n#\n# Response (201): Location: http://api.people.com:3000/people/2\n#\ntyler = Person.new(:first_name =\u003e 'Tyler')\ntyler.new?  # =\u003e true\ntyler.save  # =\u003e true\ntyler.new?  # =\u003e false\ntyler.id    # =\u003e 2\n```\n\n### Update\n\n'save' is also used to update an existing resource and follows the same protocol as creating a resource\nwith the exception that no response headers are needed -- just an empty response when the update on the\nserver side was successful.\n\n```ruby\n# {\"first_name\":\"Tyler\"}\n#\n# is submitted as the body on\n#\n# if include_root_in_json is not set or set to false =\u003e {\"first_name\":\"Tyler\"}\n# if include_root_in_json is set to true =\u003e {\"person\":{\"first_name\":\"Tyler\"}}\n#\n# PUT http://api.people.com:3000/people/1.json\n#\n# when save is called on an existing Person object.  An empty response is\n# is expected with code (204)\n#\ntyler = Person.find(1)\ntyler.first_name # =\u003e 'Tyler'\ntyler.first_name = 'Tyson'\ntyler.save  # =\u003e true\n```\n\n### Delete\n\nDestruction of a resource can be invoked as a class and instance method of the resource.\n\n```ruby\n# A request is made to\n#\n# DELETE http://api.people.com:3000/people/1.json\n#\n# for both of these forms.  An empty response with\n# is expected with response code (200)\n#\ntyler = Person.find(1)\ntyler.destroy  # =\u003e true\ntyler.exists?  # =\u003e false\nPerson.delete(2)  # =\u003e true\nPerson.exists?(2) # =\u003e false\n```\n\n### Validations\n\nResources validate their attributes with Active Model validations. When a\nresource is invalid, it will not issue a request:\n\n```ruby\nclass Post \u003c ActiveResource::Base\n  self.site = \"http://blog.io\"\n\n  validates :title, presence: true\nend\n\npost = Post.create(title: \"\")   # does not issue POST http://blog.io/posts.json request\npost.valid?                     # =\u003e false\npost.errors[:title]             # =\u003e [\"can't be blank\"]\n```\n\nWhen a resource is valid but the server responds with an error, Active Resource\nwill add error messages in the style of Active Model validations:\n\n```ruby\nclass Post \u003c ActiveResource::Base\n  self.site = \"http://blog.io\"\n\n  validates :title, presence: true\nend\n\npost = Post.create(title: \"This Post is not Unique!\")   # issues a POST http://blog.io/posts.json request\n                                                        # =\u003e {\"errors\":{\"title\":\"is taken\"}}\npost.valid?                                             # =\u003e false\npost.errors[:title]                                     # =\u003e [\"is taken\"]\n```\n\n### Associations\n\nRelationships between resources can be declared using the standard association syntax\nthat should be familiar to anyone who uses Active Record. For example, using the\nclass definition below:\n\n```ruby\nclass Post \u003c ActiveResource::Base\n  self.site = \"http://blog.io\"\n  has_many :comments\nend\n\npost = Post.find(1)      # issues GET http://blog.io/posts/1.json\ncomments = post.comments # issues GET http://blog.io/comments.json?post_id=1\n```\n\nIn this case, the `Comment` model would have to be implemented as Active Resource, too.\n\nIf you control the server, you may wish to include nested resources thus avoiding a\nsecond network request. Given the resource above, if the response includes comments\nin the response, they will be automatically loaded into the Active Resource object.\nThe server-side model can be adjusted as follows to include comments in the response.\n\n```ruby\nclass Post \u003c ActiveRecord::Base\n  has_many :comments\n\n  def as_json(options)\n    super.merge(:include=\u003e[:comments])\n  end\nend\n```\n\n### Logging\n\nActive Resource instruments the event `request.active_resource` when doing a request\nto the remote service. You can subscribe to it by doing:\n\n```ruby\nActiveSupport::Notifications.subscribe('request.active_resource')  do |name, start, finish, id, payload|\n```\n\nThe `payload` is a `Hash` with the following keys:\n\n* `request` as a [Net::HTTPRequest](https://docs.ruby-lang.org/en/master/Net/HTTPRequest.html)\n* `method` as a `Symbol`\n* `request_uri` as a `String`\n* `headers` as a `Hash`\n* `body` as a `String` when available\n* `result` as a [Net::HTTPResponse](https://docs.ruby-lang.org/en/master/Net/HTTPResponse.html)\n\n## License\n\nActive Resource is released under the MIT license:\n\n* http://www.opensource.org/licenses/MIT\n\n## Contributing to Active Resource\n\nActive Resource is work of many contributors. You're encouraged to submit pull requests, propose\nfeatures and discuss issues.\n\nSee [CONTRIBUTING](https://github.com/rails/activeresource/blob/main/CONTRIBUTING.md).\n\n## Support\n\nFull API documentation is available at\n\n* http://rubydoc.info/gems/activeresource\n\nBug reports and feature requests can be filed with the rest for the Ruby on Rails project here:\n\n* https://github.com/rails/activeresource/issues\n\nYou can find more usage information in the ActiveResource::Base documentation.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","rack","sinatra","rspec","crash-reporting","ruby-gem","devise"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/344","html_url":"https://ruby.ecosyste.ms/projects/344"}