Module: T::RequestableAPI::Mutations
- Included in:
- T::RequestableAPI
- Defined in:
- lib/t/requestable_api/mutations.rb
Instance Method Summary collapse
- #x_block(users) ⇒ Object
- #x_destroy_status(status_ids) ⇒ Object
- #x_favorite(status_ids) ⇒ Object
- #x_follow(users) ⇒ Object
- #x_mute(users) ⇒ Object
- #x_muted_ids ⇒ Object
- #x_report_spam(users) ⇒ Object
- #x_retweet(status_ids) ⇒ Object
- #x_unblock(users) ⇒ Object
- #x_unfavorite(status_ids) ⇒ Object
- #x_unfollow(users) ⇒ Object
- #x_unmute(users) ⇒ Object
Instance Method Details
#x_block(users) ⇒ Object
4 5 6 |
# File 'lib/t/requestable_api/mutations.rb', line 4 def x_block(users) mutate_users(users) { |target_id, me_id| t_post_v2_json("users/#{me_id}/blocking", target_user_id: target_id) } end |
#x_destroy_status(status_ids) ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/t/requestable_api/mutations.rb', line 79 def x_destroy_status(status_ids) statuses = normalize_id_list(status_ids).map do |id| t_delete_v2("tweets/#{id}") {"id" => id.to_i, "id_str" => id.to_s} end single_or_array(status_ids, statuses) end |
#x_favorite(status_ids) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'lib/t/requestable_api/mutations.rb', line 52 def x_favorite(status_ids) me_id = current_user_id tweets = normalize_id_list(status_ids).map do |id| t_post_v2_json("users/#{me_id}/likes", tweet_id: id) {"id" => id.to_i, "id_str" => id.to_s} end single_or_array(status_ids, tweets) end |
#x_follow(users) ⇒ Object
20 21 22 |
# File 'lib/t/requestable_api/mutations.rb', line 20 def x_follow(users) mutate_users(users) { |target_id, me_id| t_post_v2_json("users/#{me_id}/following", target_user_id: target_id) } end |
#x_mute(users) ⇒ Object
12 13 14 |
# File 'lib/t/requestable_api/mutations.rb', line 12 def x_mute(users) mutate_users(users) { |target_id, me_id| t_post_v2_json("users/#{me_id}/muting", target_user_id: target_id) } end |
#x_muted_ids ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/t/requestable_api/mutations.rb', line 37 def x_muted_ids ids = [] params = {max_results: "1000", "user.fields": "id,username"} me_id = current_user_id MAX_PAGE.times do response = t_get_v2("users/#{me_id}/muting", params) ids.concat(extract_ids(response)) token = response.dig("meta", "next_token") break if token.nil? params = params.merge(pagination_token: token) end ids end |
#x_report_spam(users) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/t/requestable_api/mutations.rb', line 28 def x_report_spam(users) Array(users).flatten.map do |entry| resolved_user = resolve_user(entry) key = numeric_identifier?(entry) ? :user_id : :screen_name t_post_v1_form("users/report_spam.json", {key => (key == :user_id ? resolved_user["id"] : resolved_user["screen_name"])}) resolved_user end end |
#x_retweet(status_ids) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/t/requestable_api/mutations.rb', line 70 def x_retweet(status_ids) me_id = current_user_id tweets = normalize_id_list(status_ids).map do |id| t_post_v2_json("users/#{me_id}/retweets", tweet_id: id) {"id" => id.to_i, "id_str" => id.to_s} end single_or_array(status_ids, tweets) end |
#x_unblock(users) ⇒ Object
8 9 10 |
# File 'lib/t/requestable_api/mutations.rb', line 8 def x_unblock(users) mutate_users(users) { |target_id, me_id| t_delete_v2("users/#{me_id}/blocking/#{target_id}") } end |
#x_unfavorite(status_ids) ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/t/requestable_api/mutations.rb', line 61 def x_unfavorite(status_ids) me_id = current_user_id tweets = normalize_id_list(status_ids).map do |id| t_delete_v2("users/#{me_id}/likes/#{id}") {"id" => id.to_i, "id_str" => id.to_s} end single_or_array(status_ids, tweets) end |
#x_unfollow(users) ⇒ Object
24 25 26 |
# File 'lib/t/requestable_api/mutations.rb', line 24 def x_unfollow(users) mutate_users(users) { |target_id, me_id| t_delete_v2("users/#{me_id}/following/#{target_id}") } end |
#x_unmute(users) ⇒ Object
16 17 18 |
# File 'lib/t/requestable_api/mutations.rb', line 16 def x_unmute(users) mutate_users(users) { |target_id, me_id| t_delete_v2("users/#{me_id}/muting/#{target_id}") } end |