Ruby Grape info photo

Ruby Grape

An opinionated framework for creating REST-like APIs in Ruby.

Help Twitter Github
< Home | Community Projects

Core

Entities and Representers

Caching

Data

HTTP

  • grape-cors: Ruby Grape Api extension with Cross-origin resource sharing.
  • grape-throttle: Provides a simple endpoint-specific throttling mechanism.
  • grape-batch: Rack middleware which extends Grape::API to support request batching.

Idempotency

Routing

  • grape-route-helpers: Path helpers for Grape APIs, similar to Rails’ named path helpers.
  • grape-raketasks: Rake task to print out Grape API routes, similar to Rails’ rake routes.

Logging

  • grape_logging: Provides simple request logging capabilities (response code, path, parameters, request time, etc).
  • grape-middleware-logger: Middleware that logs the request path, endpoint name, parameters, response status, errors and duration.

Authentication and Authorization

Documentation

Monitoring, Performance & Instrumentation

Development

  • grape-reload: Expiremental approach for providing reloading of Grape-based rack applications in dev.

Testing

Generators

  • grape-scaffold: An API scaffold generator for Rails.
  • grape-api-generator: Some rails generators to help quickly bootstrap new Grape API structure.
  • gris: A framework (and generators) for building hal+json hypermedia API services using Rack, Grape, Roar, RSpec, and ActiveRecord.
  • grape-starter Quickly create a API skeleton using Rack, Grape, Grape Swagger and Sequel or ActiveRecord.
  • grapethor Grape REST-like API application generator based on Thor.

Opinionated Frameworks

  • grape_ape_rails: Wrap the various best practices of integrating your API within the context of a Rails app.
  • napa: A simple framework for building Rack based APIs using Grape, Roar and ActiveRecord to feel similar to what you would expect from a Rails app.
  • grape-transformations: A gem that works with Rails and Grape to organize and make possible the use of multiple Grape entities per model, while at the same time, decoupling them from your models.

Contribute

Please contribute a project to this page.

We encourage you to develop and support your Grape ecosystem project, expand its maintainers and help a community thrive. Some projects do become quite popular and you might want to donate them to the community at large. If you want to move a project to the ruby-grape Github organization please make a succinct proposal on the mailing list. A member of the core team will make the call.