Rake tasks to ease the development and debugging of Grape APIs.
rake grape_raketasks:routes is like
rake routes for your Grape APIs. All routes within every Grape API in your web application will be printed to the terminal, along with parameter requiremements, HTTP verb, the API it belongs to, etc.
If you want to see routes belonging to only one API:
Pass an environment variable set to your API name after writing the task. Given the API below, and assuming we only want to see routes belonging to this CatPictures API...
module CatPictures class API < Grape::API # API stuff end end
rake grape_raketasks:routes API=CatPictures::API. Notice how we have to list which constants the API is nested in (if any), separated by a double colon, like in Ruby code.
grape-raketasks to your Gemfile:
# Gemfile gem 'grape-raketasks'
2.) Install the gem via Bundler:
$ bundle install
or on the command line:
$ gem install grape-raketasks
3.) If your Grape APIs are defined in a Sinatra or Rack web application, you need to write a rake task called
:environmentthat loads the application's environment first. This gem's tasks are dependent on it. You could put this in the root of your project directory:
# Rakefile require 'rake' require 'bundler' Bundler.setup require 'grape-raketasks' require 'grape-raketasks/tasks' desc 'load the Sinatra environment.' task :environment do require File.expand_path('your_app_file', File.dirname(__FILE__)) end
Rails applications with mounted Grape APIs don't require an extra step here.
rake -T to see all available rake tasks. Tasks with a
grape_raketasks namespace should appear somewhere.
5.) Use the tasks! Find bugs or ideas for improvement! Report them here!
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Write specs for your feature
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new pull request