class T::Delete
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/t/delete.rb, line 14 def initialize(*) @rcfile = T::RCFile.instance super end
Public Instance Methods
account(account, key = nil)
click to toggle source
# File lib/t/delete.rb, line 104 def account(account, key = nil) if key && @rcfile.profiles[account].keys.size > 1 @rcfile.delete_key(account, key) else @rcfile.delete_profile(account) end end
block(user, *users)
click to toggle source
# File lib/t/delete.rb, line 22 def block(user, *users) unblocked_users, number = fetch_users(users.unshift(user), options) do |users_to_unblock| client.unblock(users_to_unblock) end say "@#{@rcfile.active_profile[0]} unblocked #{pluralize(number, 'user')}." say say "Run `#{File.basename($PROGRAM_NAME)} block #{unblocked_users.collect { |unblocked_user| "@#{unblocked_user.screen_name}" }.join(' ')}` to block." end
dm(direct_message_id, *direct_message_ids)
click to toggle source
# File lib/t/delete.rb, line 33 def dm(direct_message_id, *direct_message_ids) direct_message_ids.unshift(direct_message_id) require 't/core_ext/string' direct_message_ids.collect!(&:to_i) if options['force'] direct_messages = client.destroy_direct_message(direct_message_ids) direct_messages.each do |direct_message| say "@#{@rcfile.active_profile[0]} deleted the direct message sent to @#{direct_message.recipient.screen_name}: \"#{direct_message.text}\"" end else direct_message_ids.each do |direct_message_id_to_delete| direct_message = client.direct_message(direct_message_id_to_delete) next unless yes? "Are you sure you want to permanently delete the direct message to @#{direct_message.recipient.screen_name}: \"#{direct_message.text}\"? [y/N]" client.destroy_direct_message(direct_message_id_to_delete) say "@#{@rcfile.active_profile[0]} deleted the direct message sent to @#{direct_message.recipient.screen_name}: \"#{direct_message.text}\"" end end end
favorite(status_id, *status_ids)
click to toggle source
# File lib/t/delete.rb, line 55 def favorite(status_id, *status_ids) status_ids.unshift(status_id) require 't/core_ext/string' status_ids.collect!(&:to_i) if options['force'] tweets = client.unfavorite(status_ids) tweets.each do |status| say "@#{@rcfile.active_profile[0]} unfavorited @#{status.user.screen_name}'s status: \"#{status.full_text}\"" end else status_ids.each do |status_id_to_unfavorite| status = client.status(status_id_to_unfavorite, include_my_retweet: false) next unless yes? "Are you sure you want to remove @#{status.user.screen_name}'s status: \"#{status.full_text}\" from your favorites? [y/N]" client.unfavorite(status_id_to_unfavorite) say "@#{@rcfile.active_profile[0]} unfavorited @#{status.user.screen_name}'s status: \"#{status.full_text}\"" end end end
list(list)
click to toggle source
# File lib/t/delete.rb, line 78 def list(list) if options['id'] require 't/core_ext/string' list = list.to_i end list = client.list(list) unless options['force'] return unless yes? "Are you sure you want to permanently delete the list \"#{list.name}\"? [y/N]" end client.destroy_list(list) say "@#{@rcfile.active_profile[0]} deleted the list \"#{list.name}\"." end
mute(user, *users)
click to toggle source
# File lib/t/delete.rb, line 94 def mute(user, *users) unmuted_users, number = fetch_users(users.unshift(user), options) do |users_to_unmute| client.unmute(users_to_unmute) end say "@#{@rcfile.active_profile[0]} unmuted #{pluralize(number, 'user')}." say say "Run `#{File.basename($PROGRAM_NAME)} mute #{unmuted_users.collect { |unmuted_user| "@#{unmuted_user.screen_name}" }.join(' ')}` to mute." end
status(status_id, *status_ids)
click to toggle source
# File lib/t/delete.rb, line 114 def status(status_id, *status_ids) status_ids.unshift(status_id) require 't/core_ext/string' status_ids.collect!(&:to_i) if options['force'] tweets = client.destroy_status(status_ids, trim_user: true) tweets.each do |status| say "@#{@rcfile.active_profile[0]} deleted the Tweet: \"#{status.full_text}\"" end else status_ids.each do |status_id_to_delete| status = client.status(status_id_to_delete, include_my_retweet: false) next unless yes? "Are you sure you want to permanently delete @#{status.user.screen_name}'s status: \"#{status.full_text}\"? [y/N]" client.destroy_status(status_id_to_delete, trim_user: true) say "@#{@rcfile.active_profile[0]} deleted the Tweet: \"#{status.full_text}\"" end end end