Sha256: e09b22ed3e3cb5a8e2259937b4445f06643501ab41326d30116edd191c890410

Contents?: true

Size: 719 Bytes

Versions: 1

Compression:

Stored size: 719 Bytes

Contents

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

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

    def download
      downloads.first
    end

    def first_download
      downloads.first
    end

    def last_download
      downloads.last
    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-1.0.0 lib/so_many_devices/downloads_helper.rb