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
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