Last active
August 29, 2015 14:07
-
-
Save dtsato/cd3f30ae47680c811dc6 to your computer and use it in GitHub Desktop.
Script para sorteio de brindes na RuPy Natal 2014
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'twitter' | |
require 'dotenv' | |
require 'colorize' | |
Dotenv.load | |
def twitter_client | |
Twitter::REST::Client.new do |config| | |
config.consumer_key = ENV["TWITTER_CONSUMER_KEY"] | |
config.consumer_secret = ENV["TWITTER_CONSUMER_SECRET"] | |
end | |
end | |
def spin_it(n) | |
pinwheel = %w{| / - \\} | |
n.times { sleep(0.1) and print(pinwheel.rotate!.first + "\b") } | |
end | |
def twitter_user(tweet) | |
"@#{tweet.user.screen_name}" | |
end | |
def uniq_contenders(query, invalid_users=[]) | |
twitter_client | |
.search(query) | |
.reject { |t| t.retweet? } | |
.reject { |t| invalid_users.include?(t.user.screen_name) } | |
.uniq { |t| t.user.screen_name} | |
end | |
if __FILE__ == $0 | |
invalid = %q(dtsato RuPyNatal) | |
winners = %q(EmillyLeao Herik_Matheus marioidival deeh_azevedo) | |
absents = %q(dojusa davicfg) | |
contenders = uniq_contenders("#RuPyNatal since:2014-10-17", invalid + winners + absents) | |
puts "RuPy Natal 2014".on_cyan.red | |
puts | |
puts "Participantes do sorteio:".light_red | |
contenders.each do |tweet| | |
printf " %15s: %s\n" % [twitter_user(tweet).cyan, tweet.text.light_white] | |
end | |
puts | |
printf "E o ganhador é: ".light_red | |
spin_it(50) | |
puts twitter_user(contenders.sample).green | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment