Sha256: 8990aaf3c496785010f8d852503fb37c8eacdf825baa8b71af2b59090a273fbf
Contents?: true
Size: 707 Bytes
Versions: 3
Compression:
Stored size: 707 Bytes
Contents
require "twitter" module AllTweets class Collector def initialize(hash) @client = Twitter::REST::Client.new(hash) end def get_all_tweets(user, include_retweets: false) collect_with_max_id do |max_id| options = { count: 200, include_rts: include_retweets } options[:max_id] = max_id unless max_id.nil? @client.user_timeline(user, options) end end private def collect_with_max_id(collection=[], max_id = nil, &block) response = yield(max_id) collection += response if response.empty? collection.flatten else collect_with_max_id(collection, response.last.id - 1, &block) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
alltweets-1.0.2 | lib/alltweets/collector.rb |
alltweets-1.0.1 | lib/alltweets/collector.rb |
alltweets-1.0.0 | lib/alltweets/collector.rb |