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::API < Grape::Base
subdomain 'api'
version '1'
formats :xml, :json
: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
user.home_timeline
end
end
end
end
# Rack endpoint
Twitter::API.statuses.timelines.get(:public_timeline)
class Twitter::API::User < Grape::Resource::ActiveRecord
represents ::User
property :status, lambda{|u| u.latest_status}, Twitter::API::Status
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.