class Tw::Client
Public Class Methods
client()
click to toggle source
# File lib/tw/client/auth.rb, line 3 def self.client @@client end
client=(client)
click to toggle source
# File lib/tw/client/auth.rb, line 7 def self.client=(client) @@client = client end
Public Instance Methods
auth(user=nil)
click to toggle source
# File lib/tw/client/auth.rb, line 11 def auth(user=nil) self.class.client = @rest_client = Auth.auth(user) end
destroy_status(status_id)
click to toggle source
# File lib/tw/client/request.rb, line 114 def destroy_status(status_id) @rest_client.destroy_status status_id end
direct_message_create(to, message)
click to toggle source
# File lib/tw/client/request.rb, line 90 def direct_message_create(to, message) res = @rest_client.create_direct_message to, message puts res.text puts res.created_at end
direct_messages()
click to toggle source
# File lib/tw/client/request.rb, line 59 def direct_messages [@rest_client.direct_messages.map{|m| Tw::Tweet.new(:id => m.id, :user => m.sender.screen_name, :text => m.text, :time => m.created_at) }, @rest_client.direct_messages_sent.map{|m| Tw::Tweet.new(:id => m.id, :user => { :from => m.sender.screen_name, :to => m.recipient.screen_name }, :text => m.text, :time => m.created_at) }].flatten end
favorite(status_id)
click to toggle source
# File lib/tw/client/request.rb, line 106 def favorite(status_id) @rest_client.favorite status_id end
home_timeline()
click to toggle source
# File lib/tw/client/request.rb, line 26 def home_timeline @rest_client.home_timeline.map{|m| Tw::Tweet.new(:id => m.id, :user => m.user.screen_name, :text => m.text, :time => m.created_at, :fav_count => m.favorite_count, :rt_count => m.retweet_count) } end
list_timeline(user,list)
click to toggle source
# File lib/tw/client/request.rb, line 48 def list_timeline(user,list) @rest_client.list_timeline(user, list).map{|m| Tw::Tweet.new(:id => m.id, :user => m.user.screen_name, :text => m.text, :time => m.created_at, :fav_count => m.favorite_count, :rt_count => m.retweet_count) } end
mentions()
click to toggle source
# File lib/tw/client/request.rb, line 4 def mentions @rest_client.mentions.map{|m| Tw::Tweet.new(:id => m.id, :user => m.user.screen_name, :text => m.text, :time => m.created_at, :fav_count => m.favorite_count, :rt_count => m.retweet_count) } end
retweet(status_id)
click to toggle source
# File lib/tw/client/request.rb, line 110 def retweet(status_id) @rest_client.retweet status_id end
search(word)
click to toggle source
# File lib/tw/client/request.rb, line 15 def search(word) @rest_client.search(word).take(20).map{|m| Tw::Tweet.new(:id => m.id, :user => m.user.screen_name, :text => m.text, :time => m.created_at, :fav_count => m.favorite_count, :rt_count => m.retweet_count) } end
show_status(status_id)
click to toggle source
# File lib/tw/client/request.rb, line 96 def show_status(status_id) res = @rest_client.status(status_id) line = CGI.unescapeHTML res.text line += " #{res.favorite_count}Fav" if res.favorite_count.to_i > 0 line += " #{res.retweet_count}RT" if res.retweet_count.to_i > 0 puts line.colorize(/@[a-zA-Z0-9_]+|\d+RT|\d+Fav/) puts "https://twitter.com/#{res.user.screen_name}/status/#{res.id}" puts res.created_at end
tweet(message, opts={})
click to toggle source
# File lib/tw/client/request.rb, line 76 def tweet(message, opts={}) res = @rest_client.update message, opts puts res.text puts "https://twitter.com/#{res.user.screen_name}/status/#{res.id}" puts res.created_at end
tweet_with_file(message, file, opts={})
click to toggle source
# File lib/tw/client/request.rb, line 83 def tweet_with_file(message, file, opts={}) res = @rest_client.update_with_media message, file, opts puts res.text puts "https://twitter.com/#{res.user.screen_name}/status/#{res.id}" puts res.created_at end
user_timeline(user)
click to toggle source
# File lib/tw/client/request.rb, line 37 def user_timeline(user) @rest_client.user_timeline(user).map{|m| Tw::Tweet.new(:id => m.id, :user => m.user.screen_name, :text => m.text, :time => m.created_at, :fav_count => m.favorite_count, :rt_count => m.retweet_count) } end