{"id":21800875,"url":"https://github.com/switchdreams/rest-api-generator","last_synced_at":"2025-04-13T18:23:20.036Z","repository":{"id":60019946,"uuid":"474059733","full_name":"SwitchDreams/rest-api-generator","owner":"SwitchDreams","description":"Build a Ruby on Rails REST API faster","archived":false,"fork":false,"pushed_at":"2024-09-14T18:19:02.000Z","size":275,"stargazers_count":7,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-15T03:44:38.370Z","etag":null,"topics":["rails","rest-api","rest-api-framework","rest-api-helper","ruby"],"latest_commit_sha":null,"homepage":"https://rest-api-generator.switchdreams.com.br/","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/SwitchDreams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2022-03-25T15:15:18.000Z","updated_at":"2024-09-14T18:19:05.000Z","dependencies_parsed_at":"2024-10-30T18:22:03.557Z","dependency_job_id":"9e05883f-c26c-4063-91f7-0534225fa0f2","html_url":"https://github.com/SwitchDreams/rest-api-generator","commit_stats":{"total_commits":96,"total_committers":4,"mean_commits":24.0,"dds":0.21875,"last_synced_commit":"cafd181a2ab205498b8e1c3f6c234c2e84f55843"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwitchDreams%2Frest-api-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwitchDreams%2Frest-api-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwitchDreams%2Frest-api-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SwitchDreams%2Frest-api-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SwitchDreams","download_url":"https://codeload.github.com/SwitchDreams/rest-api-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248759141,"owners_count":21157098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["rails","rest-api","rest-api-framework","rest-api-helper","ruby"],"created_at":"2024-11-27T11:14:45.674Z","updated_at":"2025-04-13T18:23:20.007Z","avatar_url":"https://github.com/SwitchDreams.png","language":"Ruby","readme":"# rest-api-generator\n\nThis gem helps you to build a Ruby on Rails REST API faster, using a scaffold-like generator that follows the best\npractices.\n\n## Get started\n\n:zap: **Quick Start**: [docs](https://rest-api-generator.switchdreams.com.br/quick-start)\\\n:books: **Documentation**: [docs](https://rest-api-generator.switchdreams.com.br/)\n\n## How it works?\n\nThe gems use vanilla Rails generators in combination with our templates to create all the resources needed to build a\nREST API.\n\nFollowing [Switch Dreams's](https://www.switchdreams.com.br/]) coding practices, the controllers are built with:\n\n- We use an error module to centralize error handling, rescuing from a custom and some of ActiveRecord exceptions.\n  The inspiration for this strategy was\n  this [article](https://medium.com/rails-ember-beyond/error-handling-in-rails-the-modular-way-9afcddd2fe1b.)\n\n- For tests, we use RSpec and FactoryBot.\n\n## Current Features\n\n- [Automatic rest api crud generation](#example)\n- [Nested Resource](#nested-resource)\n- :goal_net: [Modular error handler](#modular-error-handler)\n- :memo: [Automated documentation](#specsdocs)\n- [Resource ordering](#ordering)\n- [Resource filter](#filtering)\n- [Resource pagination](#pagination)\n- [Resource serialization](#serialization)\n- [Configurable](#configuration)\n- [Callbacks](#callbacks)\n\n## Next Features\n\n- Integration with AVO\n- Select fields\n- User auth module\n\n## Other alternatives\n\nThis gem resolves a very common problem so the are a lot of alternative in the market.\n\n- [decent_exposure](https://github.com/hashrocket/decent_exposure)\n- [resourcerer](https://github.com/ElMassimo/resourcerer)\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can\nalso run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the\nversion number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version,\npush git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/SwitchDreams/rest-api-generator. This project\nis intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to\nthe [code of conduct](https://github.com/SwitchDreams/rest-api-generator/blob/main/CODE_OF_CONDUCT.md).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswitchdreams%2Frest-api-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswitchdreams%2Frest-api-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswitchdreams%2Frest-api-generator/lists"}