{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/view-component/","markdown":"https://findsoftware.frbit.cloud/view-component.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"view-component","name":"ViewComponent","urls":{"home":"https://viewcomponent.org","repository":"https://github.com/ViewComponent/view_component","docs":"https://viewcomponent.org"},"category":["framework"],"description":"Ruby framework for building reusable, encapsulated view components in Ruby on Rails applications.","maintainer":"ViewComponent Team","maintainerType":"community","firstRelease":2019,"hosting":["ruby"],"language":"ruby","runtime":["ruby"],"runtimeMin":"ruby 3.2","basedOn":["rails"],"templating":"erb, haml, slim","i18n":"I18n translations","installMethod":"bundler (Gemfile)","licenseModel":"open-source","license":"MIT","currentMajor":"4","latestReleaseDate":"2026-10-27T00:00:00.000Z","githubStargazers":3571,"contributors":307,"packagistDownloads":null,"npmWeeklyDownloads":null,"dependentRepos":1602,"dependentPackages":92,"checkedAt":"2026-10-28T00:00:00.000Z","addedAt":"2026-10-28T00:00:00.000Z","sources":[{"field":"urls","url":"https://viewcomponent.org","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"urls","url":"https://github.com/ViewComponent/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"urls","url":"https://github.com/ViewComponent/view_component/blob/main/README.md","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"firstRelease","url":"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/ViewComponent/view_component/blob/main/view_component.gemspec","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"language","url":"https://github.com/ViewComponent/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"runtime","url":"https://github.com/ViewComponent/view_component/blob/v4.20.0/view_component.gemspec","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"runtimeMin","url":"https://github.com/ViewComponent/view_component/blob/v4.20.0/view_component.gemspec","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"category","url":"https://github.com/ViewComponent/view_component/blob/main/README.md","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"basedOn","url":"https://github.com/ViewComponent/view_component/blob/main/README.md","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"templating","url":"https://viewcomponent.org/compatibility.html","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"i18n","url":"https://github.com/ViewComponent/view_component/blob/main/docs/guide/translations.md","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/ViewComponent/view_component/blob/main/docs/guide/getting-started.md","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"license","url":"https://github.com/ViewComponent/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"licenseModel","url":"https://github.com/ViewComponent/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"currentMajor","url":"https://github.com/ViewComponent/view_component/releases/tag/v4.20.0","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://github.com/ViewComponent/view_component/releases/tag/v4.20.0","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"githubStargazers","url":"https://github.com/ViewComponent/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/ViewComponent/view_component/contributors","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"dependentPackages","url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/view_component","checkedAt":"2026-10-28T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/view_component","checkedAt":"2026-10-28T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"ViewComponent is a Ruby framework for building reusable, encapsulated view components in Ruby on Rails. A component is a Ruby class that wraps a template, and the [getting-started guide](https://github.com/ViewComponent/view_component/blob/main/docs/guide/getting-started.md) installs the gem with a `Gemfile` entry. The project tests it against ERB, Haml and Slim templates, and translations use a sidecar YAML file.\n\nThe ViewComponent Team maintains the gem, and the repository belongs to the ViewComponent organization on GitHub.\n\n## Worth knowing\n\nThe homepage says version 4 is in Long-Term Support and considered feature-complete."}