Module: Mingle::Twitter
- Defined in:
- app/models/mingle/twitter.rb
Defined Under Namespace
Class Method Summary collapse
-
.client ⇒ Object
Initialize the Twitter client.
- .fetch(hashtags = Mingle::Hashtag.all, since_id = Mingle::Twitter::Tweet.ordered.last.try(:tweet_id)) ⇒ Object
- .table_name_prefix ⇒ Object
Class Method Details
.client ⇒ Object
Initialize the Twitter client.
Returns a new Twitter::REST::Client instance.
37 38 39 40 41 42 43 44 |
# File 'app/models/mingle/twitter.rb', line 37 def client Twitter::REST::Client.new do |config| config.consumer_key = Mingle.config.twitter_api_key config.consumer_secret = Mingle.config.twitter_api_secret config.access_token = Mingle.config.twitter_access_token config.access_token_secret = Mingle.config.twitter_access_token_secret end end |
.fetch(hashtags = Mingle::Hashtag.all, since_id = Mingle::Twitter::Tweet.ordered.last.try(:tweet_id)) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/models/mingle/twitter.rb', line 9 def fetch = Mingle::Hashtag.all, since_id = Mingle::Twitter::Tweet.ordered.last.try(:tweet_id) = Array() .map do |hashtag| client.search(hashtag.tag_name_with_hash, since_id: since_id).collect do |data| tweet = Tweet.find_or_initialize_by tweet_id: data.id.to_s tweet.attributes = { created_at: data.created_at, image_url: data.media.any? ? data.media.first.media_url_https.to_s : nil, text: data.text, user_id: data.user.id.to_s, user_handle: data.user.screen_name, user_image_url: data.user.profile_image_url.to_s, user_name: data.user.name } tweet. << hashtag unless tweet..include? hashtag tweet.save! tweet end end.flatten end |
.table_name_prefix ⇒ Object
5 6 7 |
# File 'app/models/mingle/twitter.rb', line 5 def table_name_prefix "#{Mingle.table_name_prefix}twitter_" end |