Class: T::Delete
- Inherits:
-
Thor
- Object
- Thor
- T::Delete
- Includes:
- Requestable, Utils
- Defined in:
- lib/t/delete.rb
Constant Summary
Constants included from Utils
Constants included from RequestableAPI
RequestableAPI::BASE_URL, RequestableAPI::BASE_URL_UPLOAD, RequestableAPI::BASE_URL_V1, RequestableAPI::DEFAULT_NUM_RESULTS, RequestableAPI::FORM_HEADERS, RequestableAPI::JSON_HEADERS, RequestableAPI::MAX_PAGE, RequestableAPI::MAX_SEARCH_RESULTS, RequestableAPI::V2_LIST_FIELDS, RequestableAPI::V2_PLACE_FIELDS, RequestableAPI::V2_TWEET_EXPANSIONS, RequestableAPI::V2_TWEET_FIELDS, RequestableAPI::V2_USER_EXPANSIONS, RequestableAPI::V2_USER_FIELDS
Instance Method Summary collapse
- #account(account, key = nil) ⇒ Object
- #block(user, *users) ⇒ Object
- #dm(direct_message_id, *direct_message_ids) ⇒ Object
- #favorite(status_id, *status_ids) ⇒ Object
-
#initialize ⇒ Delete
constructor
A new instance of Delete.
- #list(list) ⇒ Object
- #mute(user, *users) ⇒ Object
- #status(status_id, *status_ids) ⇒ Object
Methods included from RequestableAPI
Methods included from RequestableAPI::AccountEndpoints
#x_before_request, #x_filter, #x_sample, #x_settings, #x_trend_locations, #x_trends, #x_update_profile, #x_update_profile_background_image, #x_update_profile_image
Methods included from RequestableAPI::ListEndpoints
#x_add_list_members, #x_create_list, #x_destroy_list, #x_list, #x_list_member?, #x_list_members, #x_list_timeline, #x_lists, #x_remove_list_members
Methods included from RequestableAPI::DMEndpoints
#x_create_direct_message_event, #x_destroy_direct_message, #x_direct_message, #x_direct_messages_received, #x_direct_messages_sent
Methods included from RequestableAPI::Mutations
#x_block, #x_destroy_status, #x_favorite, #x_follow, #x_mute, #x_muted_ids, #x_report_spam, #x_retweet, #x_unblock, #x_unfavorite, #x_unfollow, #x_unmute
Methods included from RequestableAPI::TweetEndpoints
#x_favorites, #x_home_timeline, #x_mentions, #x_retweeted_by_me, #x_retweeted_by_user, #x_retweeters_ids, #x_retweets_of_me, #x_search, #x_status, #x_update, #x_update_with_media, #x_user_timeline
Methods included from RequestableAPI::UserEndpoints
#x_follower_ids, #x_friend_ids, #x_friendship?, #x_user, #x_user_search, #x_users, #x_verify_credentials
Constructor Details
Instance Method Details
#account(account, key = nil) ⇒ Object
100 101 102 103 104 105 106 |
# File 'lib/t/delete.rb', line 100 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) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/t/delete.rb', line 21 def block(user, *users) unblocked_users, number = fetch_users(users.unshift(user), ) do |users_to_unblock| x_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) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/t/delete.rb', line 32 def dm(, *) .unshift() .collect!(&:to_i) if ["force"] (*) say "@#{@rcfile.active_profile[0]} deleted #{.size} direct message#{'s' unless .size == 1}." else .each do || = () next unless recipient = x_user(["recipient_id"]) next unless yes? "Are you sure you want to permanently delete the direct message to @#{recipient['screen_name']}: \"#{['text']}\"? [y/N]" () say "@#{@rcfile.active_profile[0]} deleted the direct message sent to @#{recipient['screen_name']}: \"#{['text']}\"" end end end |
#favorite(status_id, *status_ids) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/t/delete.rb', line 55 def favorite(status_id, *status_ids) status_ids.unshift(status_id) status_ids.collect!(&:to_i) if ["force"] tweets = x_unfavorite(status_ids) tweets.each do |status| say "@#{@rcfile.active_profile[0]} unfavorited Tweet #{status['id_str']}." end else status_ids.each do |status_id_to_unfavorite| status = x_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]" x_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) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/t/delete.rb', line 78 def list(list) list = list.to_i if ["id"] list = x_list(list) return if !["force"] && !(yes? "Are you sure you want to permanently delete the list \"#{list['name']}\"? [y/N]") x_destroy_list(list) say "@#{@rcfile.active_profile[0]} deleted the list \"#{list['name']}\"." end |
#mute(user, *users) ⇒ Object
90 91 92 93 94 95 96 97 |
# File 'lib/t/delete.rb', line 90 def mute(user, *users) unmuted_users, number = fetch_users(users.unshift(user), ) do |users_to_unmute| x_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) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/t/delete.rb', line 110 def status(status_id, *status_ids) status_ids.unshift(status_id) status_ids.collect!(&:to_i) if ["force"] tweets = x_destroy_status(status_ids) tweets.each do |status| say "@#{@rcfile.active_profile[0]} deleted Tweet #{status['id_str']}." end else status_ids.each do |status_id_to_delete| status = x_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]" x_destroy_status(status_id_to_delete) say "@#{@rcfile.active_profile[0]} deleted the Tweet: \"#{status['full_text']}\"" end end end |