Sha256: d676d39ae502b80e773ce4cf29504f2af102ae4632d6b7126983bc17283073c4

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

h1. Generic OAuth Client for Ruby, based on moomerman/twitter_oauth

*NOTE*: This is a very early version and has not been tested, give it some time :)

This is a core OAuth Client, extracting core elements from the an awesome moomerman/twitter_oauth gem and reorganizing them to give you tools to build your own client for an API of choice. This gem can be used to jump-start your new OAuth client.

Example:
<pre><code>require 'oauth_client'	
class TwitterOAuth < OAuthClient::Client
  site 'http://twitter.com'
end</code></pre>

That's all you need to have a working OAuth client which you can use to authorize with an OAuth server. Of course, it won't do anything just yet :) You need to implement specific methods for the API you're working with.

You have a few helper methods to ease the trouble. OAuthClient#get and OAuthClient#post return the unparsed response from the server. It includes an adapter for JSON, which will parse the response prior to returning it. To use it, call OAuthClient#json.get or OAuthClient#json.post.

See this example from moomerman/twitter_oauth:
<pre><code>module TwitterOauth
  class Client
    [...]
    def user(page=1)
      oauth_response = access_token.get("/statuses/user_timeline.json?page=#{page}")
      JSON.parse(oauth_response.body)
    end
		[...]
  end
end
</code></pre>

with OAuthClient, it would look like this:

<pre><code>require 'oauth_client'	
class TwitterOAuth < OAuthClient::Client
  site 'http://twitter.com'

  def user(page=1)
    json.get("/statuses/user_timeline.json?page=#{page}")
  end
end</code></pre>

h2. Authors

This gem has been built by hacking and modifing the twitter_oauth gem by Richard Taylor (http://github.com/moomerman). The core client authorization structure is taken from there.

Banged together by Marcin Bunsch (http://github.com/marcinbunsch).

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
marcinbunsch-oauth_client-0.2.1 README.textile
oauth-client-0.1.0 README.textile