lib/rake_dependencies/tasks/download.rb in rake-dependencies-0.4.0 vs lib/rake_dependencies/tasks/download.rb in rake-dependencies-0.5.0
- old
+ new
@@ -7,14 +7,15 @@
class Download < TaskLib
extend FileUtils
parameter :name, default: :download
parameter :type, default: :zip
+ parameter :os_ids, default: {mac: 'mac', linux: 'linux'}
parameter :directory, default: 'dist'
+ parameter :version
parameter :path, required: true
parameter :dependency, required: true
- parameter :version, required: true
parameter :uri_template, required: true
parameter :file_name_template, required: true
def process_arguments(args)
super(args)
@@ -22,11 +23,16 @@
end
def define
desc "Download #{dependency} distribution"
task name do
- parameters = {version: version, os: os, ext: ext}
+ 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)
@@ -42,15 +48,20 @@
end
end
private
- def os
+ def os_id
+ os_ids[platform]
+ end
+
+ def platform
RUBY_PLATFORM =~ /darwin/ ? :mac : :linux
end
def ext
- case type.to_sym
+ resolved_type = type.is_a?(Hash) ? type[platform].to_sym : type.to_sym
+ case resolved_type
when :tar_gz then '.tar.gz'
when :tgz then '.tgz'
when :zip then '.zip'
when :uncompressed then ''
else
\ No newline at end of file