Module: T::RequestableAPI

Includes:
AccountEndpoints, DMEndpoints, DMHelpers, DMParsing, HTTP, Helpers, ListEndpoints, ListNormalization, Mutations, Resolution, TweetEndpoints, TweetNormalization, UserEndpoints, UserNormalization
Included in:
Requestable
Defined in:
lib/t/requestable_api.rb,
lib/t/requestable_api/http.rb,
lib/t/requestable_api/helpers.rb,
lib/t/requestable_api/mutations.rb,
lib/t/requestable_api/dm_helpers.rb,
lib/t/requestable_api/dm_parsing.rb,
lib/t/requestable_api/resolution.rb,
lib/t/requestable_api/dm_endpoints.rb,
lib/t/requestable_api/list_endpoints.rb,
lib/t/requestable_api/user_endpoints.rb,
lib/t/requestable_api/tweet_endpoints.rb,
lib/t/requestable_api/account_endpoints.rb,
lib/t/requestable_api/list_normalization.rb,
lib/t/requestable_api/user_normalization.rb,
lib/t/requestable_api/tweet_normalization.rb

Defined Under Namespace

Modules: AccountEndpoints, DMEndpoints, DMHelpers, DMParsing, HTTP, Helpers, ListEndpoints, ListNormalization, Mutations, Resolution, TweetEndpoints, TweetNormalization, UserEndpoints, UserNormalization

Constant Summary collapse

BASE_URL =
"https://api.twitter.com"
BASE_URL_V1 =
"#{BASE_URL}/1.1/".freeze
BASE_URL_UPLOAD =
"https://upload.twitter.com/1.1/"
DEFAULT_NUM_RESULTS =
20
MAX_SEARCH_RESULTS =
100
MAX_PAGE =
51
V2_TWEET_FIELDS =
"author_id,created_at,entities,geo,id,in_reply_to_user_id,public_metrics,source,text"
V2_USER_FIELDS =
"created_at,description,id,location,name,protected,public_metrics,url,username,verified"
V2_LIST_FIELDS =
"created_at,description,follower_count,id,member_count,name,owner_id,private"
V2_TWEET_EXPANSIONS =
"author_id,geo.place_id"
V2_USER_EXPANSIONS =
"pinned_tweet_id"
V2_PLACE_FIELDS =
"contained_within,country,country_code,full_name,geo,id,name,place_type"
FORM_HEADERS =
{"Content-Type" => "application/x-www-form-urlencoded; charset=utf-8"}.freeze
JSON_HEADERS =
{"Content-Type" => "application/json; charset=utf-8"}.freeze

Instance Method Summary collapse

Methods included from 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 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 DMEndpoints

#x_create_direct_message_event, #x_destroy_direct_message, #x_direct_message, #x_direct_messages_received, #x_direct_messages_sent

Methods included from 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 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 UserEndpoints

#x_follower_ids, #x_friend_ids, #x_friendship?, #x_user, #x_user_search, #x_users, #x_verify_credentials

Instance Method Details

#setup_requestable_api!(credentials) ⇒ Object



58
59
60
61
62
63
64
65
66
67
# File 'lib/t/requestable_api.rb', line 58

def setup_requestable_api!(credentials)
  return if defined?(@requestable_api_setup) && @requestable_api_setup

  @requestable_api_setup = true
  @requestable_api_credentials = credentials
  @v1_client = X::Client.new(**credentials, base_url: BASE_URL_V1)
  @upload_client = X::Client.new(**credentials, base_url: BASE_URL_UPLOAD)
  @requestable_api_user_search_tokens = {}
  @requestable_api_before_request = nil
end