Hi, I want to use the TweetStream gem http://github.com/intridea/tweetstreamin my Rails app
I can't seem to figure out how to do it, because it opens a connection and then won't move on. I got it to work in a Ruby script with ---------- start code ---------- require 'rubygems' require 'tweetstream' user = 'blinkdev' password = **secret** keyword = '#ROCKPIC' Thread.new do TweetStream::Client.new(user,password).track(keyword) do |status| puts "[#{status.created_at}-#{status.user.screen_name}] #{status.text}" end end loop do sleep 10 puts "other stuff happening" end ---------- end code ---------- Which gives the output: other stuff happening other stuff happening [Mon Mar 01 20:30:59 +0000 2010-blinkdev] test #ROCKPIC 7 other stuff happening So I tried to replicate that in my Rails app in the file config/initializers/twitter_stream.rb ---------- start code ---------- require 'rubygems' require 'tweetstream' Thread.new do logger.info "started tweetstream" TweetStream::Client.new('blinkdev',**secret**).track('#ROCKPIC') do |status| message = "[#{status.created_at}-#{status.user.screen_name}] #{status.text}" logger.info message logger.info Rockpic.new( :message => message ).save! end end ---------- end code ---------- But it didn't work. I couldn't get it to log anything either. So I went and tried it in the console: ---------- start code ---------- $script/console Loading development environment (Rails 2.3.3) >> require 'rubygems' => [] >> require 'tweetstream' => [] >> ?> Thread.new do ?> logger.info "started tweetstream" >> ?> TweetStream::Client.new('blinkdev',**secret**).track('#ROCKPIC') do |status| ?> message = "[#{status.created_at}-#{status.user.screen_name}] #{status.text}" >> logger.info message >> logger.info Rockpic.new( :message => message ).save! >> end >> ?> end => #<Thread:0x24ba60c dead> ---------- end code ---------- It doesn't seem to do anything. I tried playing with daemons, but I can't figure out how to use them either. If someone can show me how to use daemons, I'll give that a try (I have the daemons gem installed http://rubygems.org/gems/daemons) and it looks like TweetStream has their own version with Daemons, http://rdoc.info/rdoc/intridea/tweetstream/blob/e5ecb9ef125ebce038d24f816973bbb4644445a8/TweetStream/Daemon.htmlbut I can't seem to get it to do anything: ---------- start code ---------- ARGV << 'start' require 'rubygems' require 'tweetstream' user = 'blinkdev' password = **secret** keyword = '#ROCKPIC' TweetStream::Daemon.new(user,password, 'tracker').track(keyword) do |status| puts "[#{status.created_at}-#{status.user.screen_name}] #{status.text}" end ---------- end code ---------- It runs, but it doesn't respond to anything, and I think I need it to run in the Rails environment, because I want to host it on Heroku. Anyway, I'm not sure where to go with it, I just want my Rails app to have a stream to twitter to watch for a given hash tag, and a particular user's tweets. Any help would be appreciated. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.