рубиновая строка твита из текстового файла

Мой код не будет твитить из файла каждый интервал, он печатает только в терминале, но не в твиттере. Я также пытаюсь зациклить его, чтобы после того, как он был выполнен с file.length, он повторялся. Спасибо за вашу помощь.

require 'Twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "..."
  config.consumer_secret = "..."
  config.access_token = "..."
  config.access_token_secret = "..."
end


blog_post = []
tweet_img = []


def post 
File.open("tweets.txt") do rand |line|
    line.each do |item|
        tweets = item.chomp.split("\n")
        #while client.update("#{}")
                puts tweets 
                sleep(30)
            #end 
            #puts blog_post.to_s, "\n\n"
        end
    end
end

puts client.update("#{post}").text

person marriedjane875    schedule 14.04.2015    source источник


Ответы (1)


Ваш звонок в Твиттер:

client.update("#{post}").text

находится вне вашего цикла, поэтому он вызывается только один раз. Если вы хотите это для каждой строки, это должно быть:

def post 
  File.open("tweets.txt") do rand |line|
    line.each do |item|
      tweets = item.chomp.split("\n")
      puts tweets
      client.update("#{tweets}").text
      sleep(30)
    end
  end
end
person Martin    schedule 14.04.2015
comment
хорошо, nvm это делает, пришлось сделать некоторые настройки, но как я могу сделать так, чтобы он продолжал зацикливаться? @Мартин - person marriedjane875; 14.04.2015
comment
и есть ли способ избавиться от квадратных скобок [ ] и обратной косой черты \, которые волшебным образом появляются в каждом твите? - person marriedjane875; 14.04.2015
comment
Я лично не знаком с Ruby Twitter API. Что вы имеете в виду под тем, как сделать так, чтобы он продолжал зацикливаться? Насколько я понимаю, у вас есть цикл в каждой строке вашего файла tweets.txt? - person Martin; 14.04.2015
comment
это означает, что как только он достигнет file.length, чтобы начать снова .... но я думаю, я могу просто написать функцию повтора каждые (секунды) ... @Martin Я просто подумал, что есть цикл for или while, который будет продолжать читать файл независимо от того, когда он читает последнюю строку.. - person marriedjane875; 14.04.2015