Skip to content

a-chacon/oas_rails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Gem Version GitHub License GitHub Actions Workflow Status Gem Total Downloads Static Badge Static Badge

๐Ÿ“ƒOpen API Specification For Rails

OasRails is a Rails engine for generating automatic interactive documentation for your Rails APIs. It generates an OAS 3.1 document and displays it using RapiDoc.

It relies on the OasCore gem.

๐Ÿš€ Demo App

Explore the interactive documentation live:

๐Ÿ”— Open Demo App
๐Ÿ‘ค Username: oasrails
๐Ÿ”‘ Password: oasrails

๐ŸŽฌ A Demo Installation/Usage Video: https://vimeo.com/1013687332 ๐ŸŽฌ

Screenshot

Related Projects

  • ApiPie: Doesn't support OAS 3.1, requires learning a DSL, lacks a nice UI
  • swagger_yard-rails: Seems abandoned, but serves as inspiration
  • Rswag: Not automatic, depends on RSpec; Many developers now use Minitest as it's the default test framework
  • grape-swagger: Requires Grape
  • rspec_api_documentation: Requires RSpec and a command to generate the docs

What Sets OasRails Apart?

  • Dynamic: No command required to generate docs
  • Simple: Complement default documentation with a few comments; no need to learn a complex DSL
  • Pure Ruby on Rails APIs: No additional frameworks needed (e.g., Grape, RSpec)

๐Ÿ“ฝ๏ธ Motivation

After experiencing the interactive documentation in Python's fast-api framework, I sought similar functionality in Ruby on Rails. Unable to find a suitable solution, I asked on Stack Overflow years ago. Now, with some free time while freelancing as an API developer, I decided to build my own tool.

Note: This is not yet a production-ready solution. The code may be rough and behave unexpectedly, but I am actively working on improving it. If you like the idea, please consider contributing to its development.

The goal is to minimize the effort required to create comprehensive documentation. By following REST principles in Rails, we believe this is achievable. You can enhance the documentation using Yard tags.

Documentation

For see how to install, configure and use OasRails please refere to the OasCore MDBook

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a starโญ! Thanks again!

If you plan a big feature, first open an issue to discuss it before any development.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

The gem is available as open source under the terms of the GPL-3.0.

Star History

Star History Chart

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy