mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
DEV: Clean up twitter onebox code (#18012)
This commit is contained in:
@ -2,10 +2,11 @@
|
||||
|
||||
# lightweight Twitter api calls
|
||||
class TwitterApi
|
||||
|
||||
class << self
|
||||
include ActionView::Helpers::NumberHelper
|
||||
|
||||
BASE_URL = 'https://api.twitter.com'
|
||||
|
||||
def prettify_tweet(tweet)
|
||||
text = tweet["full_text"].dup
|
||||
if (entities = tweet["entities"]) && (urls = entities["urls"])
|
||||
@ -74,20 +75,11 @@ class TwitterApi
|
||||
number_to_human(count, format: '%n%u', precision: 2, units: { thousand: 'K', million: 'M', billion: 'B' })
|
||||
end
|
||||
|
||||
def user_timeline(screen_name)
|
||||
JSON.parse(twitter_get(user_timeline_uri_for screen_name))
|
||||
end
|
||||
|
||||
def tweet_for(id)
|
||||
JSON.parse(twitter_get(tweet_uri_for id))
|
||||
JSON.parse(twitter_get(tweet_uri_for(id)))
|
||||
end
|
||||
|
||||
alias_method :status, :tweet_for
|
||||
|
||||
def raw_tweet_for(id)
|
||||
twitter_get(tweet_uri_for id)
|
||||
end
|
||||
|
||||
def twitter_credentials_missing?
|
||||
consumer_key.blank? || consumer_secret.blank?
|
||||
end
|
||||
@ -110,18 +102,10 @@ class TwitterApi
|
||||
end.strip
|
||||
end
|
||||
|
||||
def user_timeline_uri_for(screen_name)
|
||||
URI.parse "#{BASE_URL}/1.1/statuses/user_timeline.json?screen_name=#{screen_name}&count=50&include_rts=false&exclude_replies=true"
|
||||
end
|
||||
|
||||
def tweet_uri_for(id)
|
||||
URI.parse "#{BASE_URL}/1.1/statuses/show.json?id=#{id}&tweet_mode=extended"
|
||||
end
|
||||
|
||||
unless defined? BASE_URL
|
||||
BASE_URL = 'https://api.twitter.com'
|
||||
end
|
||||
|
||||
def twitter_get(uri)
|
||||
request = Net::HTTP::Get.new(uri)
|
||||
request.add_field 'Authorization', "Bearer #{bearer_token}"
|
||||
@ -172,6 +156,5 @@ class TwitterApi
|
||||
def consumer_secret
|
||||
SiteSetting.twitter_consumer_secret
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user