Sha256: 57f4cba7fab6a49f11d11f05af0530f42b7f96945e75af5176704e5e5a243264
Contents?: true
Size: 1.4 KB
Versions: 4
Compression:
Stored size: 1.4 KB
Contents
module Mingle::Twitter class << self def table_name_prefix "#{Mingle.table_name_prefix}twitter_" end def fetch hashtags = Mingle::Hashtag.all, since_id = Mingle::Twitter::Tweet.ordered.last.try(:tweet_id) hashtags = Array(hashtags) hashtags.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.hashtags << hashtag unless tweet.hashtags.include? hashtag tweet.save! tweet end end.flatten end # Initialize the Twitter client. # # Returns a new Twitter::REST::Client instance. def client Twitter::REST::Client.new do |config| config.consumer_key = ENV['TWITTER_API_KEY'] config.consumer_secret = ENV['TWITTER_API_SECRET'] config.access_token = ENV['TWITTER_ACCESS_TOKEN'] config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET'] end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mingle-0.3.0 | app/models/mingle/twitter.rb |
mingle-0.2.0 | app/models/mingle/twitter.rb |
mingle-0.1.1 | app/models/mingle/twitter.rb |
mingle-0.1 | app/models/mingle/twitter.rb |