Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Cleaning up the README a bit.

  • Loading branch information...
commit e690f37d2a0d601d9271acbc5b95c82d1b993ebb 1 parent 01676ed
@mbleigh mbleigh authored
Showing with 25 additions and 64 deletions.
  1. +1 −1  LICENSE
  2. +24 −11 README.markdown
  3. +0 −52 README.rdoc
View
2  LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2009 Michael Bleigh
+Copyright (c) 2010 Michael Bleigh and Intridea, Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
View
35 README.markdown
@@ -19,37 +19,50 @@ Grape APIs are Rack applications that are created by subclassing `Grape::API`. B
def current_user
@current_user ||= User.authorize!(env)
end
+
+ def authenticate!
+ error!('401 Unauthorized', 401) unless current_user
+ end
end
resource :statuses do
- formats :rss, :atom
-
get :public_timeline do
Tweet.limit(20)
end
get :home_timeline do
+ authenticate!
current_user.home_timeline
end
+ get '/show/:id' do
+ Tweet.find(params[:id])
+ end
+
post :update do
+ authenticate!
Tweet.create(
+ :user => current_user,
:text => params[:status]
)
end
end
end
- # Rack endpoint
- Twitter::API.statuses.timelines.get(:public_timeline)
+This would create a Rack application that could be used like so (in a Rackup file):
+
+ use Twitter::API
- class Twitter::API::User < Grape::Resource::ActiveRecord
- represents ::User
-
- property :status, lambda{|u| u.latest_status}, Twitter::API::Status
- end
+And would respond to the following routes:
+
+ GET /1/statuses/public_timeline(.json)
+ GET /1/statuses/home_timeline(.json)
+ GET /1/statuses/show/:id(.json)
+ POST /1/statuses/update(.json)
+
+Serialization takes place automatically. For more detailed usage information, please visit the [Grape Wiki](http://github.com/intridea/grape/wiki).
-== Note on Patches/Pull Requests
+## Note on Patches/Pull Requests
* Fork the project.
* Make your feature addition or bug fix.
@@ -57,6 +70,6 @@ Grape APIs are Rack applications that are created by subclassing `Grape::API`. B
* 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
Copyright (c) 2010 Michael Bleigh and Intridea, Inc. See LICENSE for details.
View
52 README.rdoc
@@ -1,52 +0,0 @@
-= 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
- 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
-
- # 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 (c) 2010 Michael Bleigh and Intridea, Inc. See LICENSE for details.
Please sign in to comment.
Something went wrong with that request. Please try again.