module TerraformDevKit

Constants

VERSION

Public Class Methods

download_file(url, filename, force_download: false) click to toggle source
# File lib/TerraformDevKit/download.rb, line 5
def self.download_file(url, filename, force_download: false)
  unless File.exist?(filename) && !force_download
    dirname = File.dirname(filename)
    FileUtils.mkdir_p(dirname) unless Dir.exist?(dirname)

    puts "Downloading #{url} to #{filename}..."

    open(filename, 'wb') do |file|
      file << URI.open(url, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE).read
    end
  end
end
valid_url?(url) click to toggle source
# File lib/TerraformDevKit/url.rb, line 4
def self.valid_url?(url)
  uri = URI.parse(url)
  uri.is_a?(URI::HTTP) && !uri.host.nil?
rescue URI::InvalidURIError
  false
end
with_retry(retry_count, sleep_time: 1) { || ... } click to toggle source
# File lib/TerraformDevKit/retry.rb, line 2
def self.with_retry(retry_count, sleep_time: 1)
  yield
rescue
  unless (retry_count -= 1).zero?
    sleep(sleep_time)
    retry
  end
  raise
end