Rodauth OpenAPI

Generate OpenAPI documentation for your Rodauth endpoints.

Installation

bundle add rodauth-openapi --group development

Usage

The generated OpenAPI documentation can be uploaded to renderers such as Swagger Editor or Redoc.

In Rails

Assuming you have Rodauth installed in your Rails application, you can use the generator provided by this gem:

rails g rodauth:openapi

This will generate OpenAPI documentation in YAML format for the default Rodauth configuration and print it to standard output.

The generator accepts the following options:

rails g rodauth:openapi --name admin # secondary configuration
rails g rodauth:openapi --format json # JSON format
rails g rodauth:openapi --json # generate JSON API endpoints
rails g rodauth:openapi --no-password # assume account without password
rails g rodauth:openapi --save openapi.yml # save to a file

Outside of Rails

If you're not using Rails, you can generate the OpenAPI documentation programmatically:

require "rodauth/openapi"

auth_class = RodauthApp.rodauth # or RodauthApp.rodauth(:admin)
open_api = Rodauth::OpenAPI.new(auth_class)

File.write("openapi.yml", open_api.to_yaml)

Here are the various options and methods supported:

Rodauth::OpenAPI.new(auth_class, json: true) # generate JSON API endpoints
Rodauth::OpenAPI.new(auth_class, password: false) # assume account has no password

Rodauth::OpenAPI.new(auth_class).to_yaml # YAML format
Rodauth::OpenAPI.new(auth_class).to_json # JSON format
Rodauth::OpenAPI.new(auth_class).generate # ruby hash

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Rodauth::Openapi project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.