Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/edymerchk/awesome-ruby-api

A collection of awesome libraries, tools, frameworks and software to create beautiful APIs using Ruby
https://github.com/edymerchk/awesome-ruby-api

List: awesome-ruby-api

Last synced: 3 months ago
JSON representation

A collection of awesome libraries, tools, frameworks and software to create beautiful APIs using Ruby

Awesome Lists containing this project

README

        

# Awesome Ruby API

A collection of awesome libraries, tools, frameworks and software to create beautiful APIs using Ruby

Inspired by the [awesome-ruby](https://github.com/markets/awesome-ruby)

Sharing, suggestions and contributions are always welcome! just use the following format:

```[LIBRARY](LINK) - DESCRIPTION.```

## Design Guides

* [http-api-design](https://github.com/interagent/http-api-design) - HTTP API design guide extracted from work on the Heroku Platform API.

## Documentation

* [Aglio](https://github.com/danielgtaylor/aglio) - An API Blueprint renderer.
* [Apipie](https://github.com/Apipie/apipie-rails) - Rails API documentation and display tool using Ruby syntax.
* [grape-swagger](https://github.com/tim-vandecasteele/grape-swagger) - Add swagger compliant documentation to your Grape API.
* [grape-swagger-rails](https://github.com/BrandyMint/grape-swagger-rails) - Integration swagger to grape in rails.
* [swagger-blocks](https://github.com/fotinakis/swagger-blocks) - Define and serve live-updating Swagger JSON for Ruby apps.
* [swagger-docs](https://github.com/richhollis/swagger-docs) - Define and serve live-updating Swagger JSON for Ruby apps.
* [Slate](https://github.com/tripit/slate) - Slate helps you create beautiful API documentation.
* [rspec_api_documentation](https://github.com/zipmark/rspec_api_documentation) - RSpec API Doc Generator.

## Frameworks

* [Grape](http://intridea.github.io/grape) - An opinionated micro-framework for creating REST-like APIs in Ruby.
* [Rails::API](https://github.com/rails-api/rails-api) - Rails for API only applications.
* [GraphQL](http://graphql-ruby.org) - GraphQL is a query language for your API. graphql-ruby is ruby implementation of GraphQL.

## Testing

* [Airborne](https://github.com/brooklynDev/airborne) - RSpec driven API testing framework.
* [api_taster](https://github.com/fredwu/api_taster) - A quick and easy way to visually test your Rails application's AP.
* [stubb](https://github.com/knuton/stubb) - Specify REST API stubs using your file system.
* [lurker](https://github.com/razum2um/lurker) - Generates API schemas, validates code against them and creates a handy web interface for testing the API.
* [minitest-reporters](https://github.com/kern/minitest-reporters) - Extend Minitest through simple hooks.

## Serialization

* [ActiveModel::Serializer](https://github.com/rails-api/active_model_serializers) - ActiveModel::Serializer brings convention over configuration to your JSON generation.
* [ROAR](https://github.com/apotonick/roar) - a framework for parsing and rendering REST documents.
* [Jbuilder](https://github.com/rails/jbuilder) - gives you a simple DSL for declaring JSON structures that beats massaging giant hash structures.
* [RABL](https://github.com/nesquena/rabl) - General ruby templating with json, bson, xml, plist and msgpack support.
* [acts_as_api](https://github.com/fabrik42/acts_as_api) - makes creating XML/JSON responses in Rails easy and fun.

## Middleware

* [Rack::Cors](https://github.com/cyu/rack-cors) - Rack::Cors provides support for Cross-Origin Resource Sharing (CORS) for Rack compatible web applications.

## Versions

* [Version Cake](https://github.com/bwillis/versioncake) - An unobtrusive way to version APIs in your Rails app.
* [versionist](https://github.com/bploetz/versionist) - A plugin for versioning Rails based RESTful APIs.

## Videos/Talks

* [Building fast, testable and sane APIs with rails.](https://www.youtube.com/watch?v=18JQRlUC2QA)
* [How we got max speed for JSON processing in a Rails API app.](https://www.youtube.com/watch?v=jPZ5nFrL0D0)
* [Rapidly Mapping JSON/XML API Schemas in Ruby.](https://www.youtube.com/watch?v=1K0Pt0o9F7w)
* [Building Your API for Longevity/](https://www.youtube.com/watch?v=8U7JoDfj3wM)
* [Building REST API with grape.](https://www.youtube.com/watch?v=lNXa-fjTroE)
* [Building a web API with Ruby on Rails.](https://www.youtube.com/watch?v=36M2BSA2LYk)
* [Rails APIs: The Next Generation.](https://www.youtube.com/watch?v=iTbTz8_ztIM)

## Articles

* [Best Practices for Designing a Pragmatic RESTful API](http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)
* [Building a RESTful API in a Rails Application](https://www.airpair.com/ruby-on-rails/posts/building-a-restful-api-in-a-rails-application)
* [Creating a Simple API with Rails](https://www.codementor.io/ruby-on-rails/tutorial/creating-simple-api-with-rails)
* [Beginners guide to creating a REST API](http://www.andrewhavens.com/posts/20/beginners-guide-to-creating-a-rest-api)
* [Producing Documentation for Your Rails API](https://blog.codeship.com/producing-documentation-for-your-rails-api/)
* [Why Use Rails for JSON APIs?](http://edgeguides.rubyonrails.org/api_app.html#why-use-rails-for-json-apis-questionmark)