Downloading specific file

Morning all,

I am downloading a file that gets loaded sometime after 10PM and we
never know what time it will be put on the server. I have my code look
for the file and if it does not match my test then sleep for 1800ms and
then check again. I have the code getting the file I need just fine but
when I add the sleep, it just sleeps straight away when I know the
correct file is there. Can you guys have a look and let me know where
I'm going wrong?

Also if there is a better way to just look at the FTP directory and see
if the file is there I am open to any ideas.

Thanks in advance,
Tim

require 'net/ftp'

class Download
    ftp = Net::FTP.new('ftp.site.com')
    ftp.login(user="uname", passwd="123")
    file = ftp.nlst
    file.each do | @list |
      @last = "20080609"
      @curdate = Time.now.localtime.strftime("%Y%m%d")
      @yesterday = Time.now - 86400
      @prevday = @yesterday.strftime("%Y%m%d")
      @t = Time.now
      @hour = @t.hour
      if(@hour >= 0)
        @procFile = @prevday
      elsif(@hour < 0)
        @procFile = @curdate
      end
      @lastProc = @last
        @list.scan(/\d{8}/) do | @scan |
          if (@scan == @procFile && @list =~ /Balances\d{8}/)
            Dir.chdir("/tmp")
            ftp.gettextfile(@list, localfile = File.basename(@list))
        else (@list !~ /Balances#{@procFile}.txt/)
          sleep(1800)
        end
      end
    end
end

···

--
Posted via http://www.ruby-forum.com/.