Module: T::RequestableAPI::ListEndpoints
- Included in:
- T::RequestableAPI
- Defined in:
- lib/t/requestable_api/list_endpoints.rb
Instance Method Summary collapse
- #x_add_list_members(list_name, users) ⇒ Object
- #x_create_list(name, opts = {}) ⇒ Object
- #x_destroy_list(list) ⇒ Object
- #x_list(owner_or_id, list_name = nil) ⇒ Object
- #x_list_member?(owner, list_name, user) ⇒ Boolean
- #x_list_members(owner, list_name) ⇒ Object
- #x_list_timeline(owner, list_name, opts = {}) ⇒ Object
- #x_lists(user = nil) ⇒ Object
- #x_remove_list_members(list_name, users) ⇒ Object
Instance Method Details
#x_add_list_members(list_name, users) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 34 def x_add_list_members(list_name, users) list_id = resolve_list_id(current_user_id, list_name.to_s) Array(users).flatten.each do |entry| t_post_v2_json("lists/#{list_id}/members", user_id: resolve_user_id(entry)) end true end |
#x_create_list(name, opts = {}) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 19 def x_create_list(name, opts = {}) body = { name: name.to_s, description: opts[:description].to_s, private: opts[:mode].to_s == "private", } extract_lists(t_post_v2_json("lists", body)).first || {} end |
#x_destroy_list(list) ⇒ Object
28 29 30 31 32 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 28 def x_destroy_list(list) list_id = entity_like?(list) ? value_id(list) : list.to_s t_delete_v2("lists/#{list_id}") true end |
#x_list(owner_or_id, list_name = nil) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 9 def x_list(owner_or_id, list_name = nil) list_id = if list_name.nil? numeric_identifier?(owner_or_id) ? owner_or_id.to_s : resolve_list_id(current_user_id, owner_or_id.to_s) else owner_id = numeric_identifier?(owner_or_id) ? owner_or_id.to_s : resolve_user_id(owner_or_id) resolve_list_id(owner_id, list_name.to_s) end extract_lists(t_get_v2("lists/#{list_id}", list_lookup_params)).first || {} end |
#x_list_member?(owner, list_name, user) ⇒ Boolean
50 51 52 53 54 55 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 50 def x_list_member?(owner, list_name, user) owner_id = numeric_identifier?(owner) ? owner.to_s : resolve_user_id(owner) list_id = resolve_list_id(owner_id, list_name.to_s) user_id = resolve_user_id(user) fetch_list_member_ids(list_id).include?(user_id.to_s) end |
#x_list_members(owner, list_name) ⇒ Object
57 58 59 60 61 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 57 def x_list_members(owner, list_name) owner_id = numeric_identifier?(owner) ? owner.to_s : resolve_user_id(owner) list_id = resolve_list_id(owner_id, list_name) lookup_users_by_ids(fetch_list_member_ids(list_id)) end |
#x_list_timeline(owner, list_name, opts = {}) ⇒ Object
63 64 65 66 67 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 63 def x_list_timeline(owner, list_name, opts = {}) owner_id = numeric_identifier?(owner) ? owner.to_s : resolve_user_id(owner) list_id = resolve_list_id(owner_id, list_name) extract_tweets(t_get_v2("lists/#{list_id}/tweets", timeline_v2_params(opts))) end |
#x_lists(user = nil) ⇒ Object
4 5 6 7 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 4 def x_lists(user = nil) user_id = user.nil? ? current_user_id : resolve_user_id(user) collect_owned_lists(user_id) end |
#x_remove_list_members(list_name, users) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/t/requestable_api/list_endpoints.rb', line 42 def x_remove_list_members(list_name, users) list_id = resolve_list_id(current_user_id, list_name.to_s) Array(users).flatten.each do |entry| t_delete_v2("lists/#{list_id}/members/#{resolve_user_id(entry)}") end true end |