class RakeDependencies::Tasks::Download

Public Instance Methods

define() click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 26
def define
  desc "Download #{dependency} distribution"
  task name do
    parameters = {
        version: version,
        platform: platform,
        os_id: os_id,
        ext: ext
    }

    uri = Template.new(uri_template)
      .with_parameters(parameters)
      .render
    download_file_name = Template.new(file_name_template)
      .with_parameters(parameters)
      .render
    download_file_directory = File.join(path, distribution_directory)
    download_file_path = File.join(download_file_directory, download_file_name)

    temporary_file = open(uri)

    mkdir_p download_file_directory
    cp temporary_file.path, download_file_path
  end
end
process_arguments(args) click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 21
def process_arguments(args)
  super(args)
  self.name = args[0] if args[0]
end

Private Instance Methods

ext() click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 66
def ext
  case resolved_type
    when :tar_gz then '.tar.gz'
    when :tgz then '.tgz'
    when :zip then '.zip'
    when :uncompressed then ''
    else
      raise "Unknown type: #{type}"
  end
end
os_id() click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 54
def os_id
  os_ids[platform]
end
platform() click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 58
def platform
  RUBY_PLATFORM =~ /darwin/ ? :mac : :linux
end
resolved_type() click to toggle source
# File lib/rake_dependencies/tasks/download.rb, line 62
def resolved_type
  type.is_a?(Hash) ? type[platform].to_sym : type.to_sym
end