Sha256: f554db1a7ad646372aa472654e9abf5c221f99e54365c223048cc0d039015a4d

Contents?: true

Size: 613 Bytes

Versions: 1

Compression:

Stored size: 613 Bytes

Contents

module SoManyDevices
  module DownloadsHelper
    TIMEOUT = 10
    PATH = "#{Dir.pwd}/tmp/downloads"

    def downloads
      Dir["#{PATH}/*"]
    end

    def download
      downloads.first
    end

    def download_content
      wait_for_download
      File.read(download)
    end

    def wait_for_download
      Timeout.timeout(TIMEOUT) do
        sleep 0.1 until downloaded?
      end
    end

    def downloaded?
      !downloading? && downloads.any?
    end

    def downloading?
      downloads.grep(/\.crdownload$/).any?
    end

    def clear_downloads
      FileUtils.rm_f(downloads)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
so_many_devices-0.2.0 lib/so_many_devices/downloads_helper.rb