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