lib/twitter/base.rb in dustin-twitter-0.3.2.1 vs lib/twitter/base.rb in dustin-twitter-0.3.2.2
- old
+ new
@@ -5,13 +5,14 @@
# http://groups.google.com/group/twitter-development-talk/web/api-documentation
module Twitter
class Base
# Initializes the configuration for making requests to twitter
- def initialize(email, password, host='twitter.com')
+ def initialize(email, password, host='twitter.com', path='')
@config, @config[:email], @config[:password] = {}, email, password
@api_host = host
+ @api_path = path
end
# Returns an array of statuses for a timeline; Defaults to your friends timeline.
def timeline(which=:friends, options={})
raise UnknownTimeline unless [:friends, :public, :user].include?(which)
@@ -85,11 +86,11 @@
request("direct_messages/destroy/#{id}.xml", :auth => true)
end
# Sends a direct message <code>text</code> to <code>user</code>
def d(user, text)
- url = URI.parse("http://#{@api_host}/direct_messages/new.xml")
+ url = URI.parse("http://#{@api_host}#{@api_path}/direct_messages/new.xml")
req = Net::HTTP::Post.new(url.path)
req.basic_auth(@config[:email], @config[:password])
req.set_form_data({'text' => text, 'user' => user})
response = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
DirectMessage.new_from_xml(parse(response.body).at('direct_message'))
@@ -158,10 +159,10 @@
# Posts a new update to twitter for auth user.
def post(status, options={})
form_data = {'status' => status}
form_data.merge({'source' => options[:source]}) if options[:source]
- url = URI.parse("http://#{@api_host}/statuses/update.xml")
+ url = URI.parse("http://#{@api_host}#{@api_path}/statuses/update.xml")
req = Net::HTTP::Post.new(url.path)
req.basic_auth(@config[:email], @config[:password])
req.set_form_data(form_data)
response = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
Status.new_from_xml(parse(response.body).at('status'))
\ No newline at end of file