class Fanfou::Fanfou

Public Class Methods

new(consumer_key, consumer_secret, oauth_base_url = "http://fanfou.com", api_base_url = "http://api.fanfou.com") click to toggle source
# File lib/fanfou.rb, line 14
def initialize(consumer_key, consumer_secret, oauth_base_url = "http://fanfou.com", api_base_url = "http://api.fanfou.com")
  @consumer_key    = consumer_key
  @consumer_secret = consumer_secret
  @oauth_base_url  = oauth_base_url
  @api_base_url    = api_base_url
end

Public Instance Methods

_encode(arg) click to toggle source
# File lib/fanfou.rb, line 7
def _encode(arg)
  a = ""
  arg.each { |k,v|
    a += "#{k}=#{v}&"
  }
  a[0..-2]
end
access_token() click to toggle source
# File lib/fanfou.rb, line 80
def access_token
  @access_token
end
fanfou_request(path, args = {}) click to toggle source
# File lib/fanfou.rb, line 57
def fanfou_request(path, args = {})
  path += ".json"
  if not @access_token
    raise 'No Access Token Set!'
  end
  method = :get
  method = :post if args[:post_args]
  if args[:get_args]
    path += "?" + _encode(args[:get_args]) 
  end
  if method == :get 
    response = @access_token.get(path)
  else
    response = @access_token.post(path, args[:post_args])
  end
  if response.code != "200"
    raise "Network Error #{response.code}: #{response.msg}" 
  end
  JSON::parse(response.body)
end
get_access_token(request_token, request_token_secret, verifier) click to toggle source
# File lib/fanfou.rb, line 31
def get_access_token(request_token, request_token_secret, verifier)
  @consumer = OAuth::Consumer.new(
    @consumer_key, 
    @consumer_secret, 
    {
      :site => @oauth_base_url, 
    }
  )
  @request_token = OAuth::RequestToken.new(
    @consumer, 
    request_token, 
    request_token_secret
  )
  @access_token = @request_token.get_access_token(:oauth_verifier => verifier)
  set_access(@access_token.token, @access_token.secret)
end
get_authorize_url() click to toggle source
# File lib/fanfou.rb, line 20
def get_authorize_url()
  @consumer = OAuth::Consumer.new(
    @consumer_key, 
    @consumer_secret, 
    {
      :site => @oauth_base_url, 
    }
  )
  @request_token = @consumer.get_request_token
  @request_token.authorize_url
end
request_token() click to toggle source
# File lib/fanfou.rb, line 77
def request_token
  @request_token
end
set_access(access_token, access_token_secret) click to toggle source
# File lib/fanfou.rb, line 47
def set_access(access_token, access_token_secret)
  @api_client = OAuth::Consumer.new(
    @consumer_key, 
    @consumer_secret, 
    {
      :site => @api_base_url,
    }
  )
  @access_token = OAuth::AccessToken.new(@api_client, access_token, access_token_secret)
end