Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

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

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 autotest
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rspec
Octocat-spinner-32 .rvmrc
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 grape.gemspec
README.rdoc

UNDER CONSTRUCTION. DO NOT USE

Grape

Grape is a REST-like API micro-framework for Ruby. It is built to complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily provide APIs. It has built-in support for common conventions such as multiple formats, subdomain/prefix restriction, and versioning.

class Twitter < Grape::Base
  subdomain 'api'
  version '1'
  formats :xml, :json
  authorization :oauth, User

  resource :statuses do
    group :timelines do
      formats :rss, :atom

      get :public_timeline do
        optional :trim_user, Boolean
        optional :include_entities, Boolean

        Tweet.limit(20)
      end

      get :home_timeline do
        authorized

        user.home_timeline
      end
    end
  end
end

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright © 2010 Michael Bleigh and Intridea, Inc. See LICENSE for details.

Something went wrong with that request. Please try again.