Module: U3d::Downloader
- Defined in:
- lib/u3d/downloader.rb
Overview
Take care of downloading files and packages
Defined Under Namespace
Classes: LinuxDownloader, MacDownloader, StandardPackageDownloader, WindowsDownloader
Constant Summary collapse
- DOWNLOAD_DIRECTORY =
Name of the directory for the package downloading
'Unity_Packages'.freeze
- DOWNLOAD_PATH =
Path to the directory for the package downloading
"#{ENV['HOME']}/Downloads".freeze
- UNITY_LANGUAGE_FILE_REGEX =
Regex to get the name of a localization asset
%r{\/\d+/[0-9\.]+\/([\w-]+)$}
- UNITY_MODULE_FILE_REGEX =
Regex to get the name of a package out of its file name
%r{\/([\w\-_\.\+]+\.(?:pkg|exe|zip|sh|deb|msi|xz))[^\/]*$}
Class Method Summary collapse
- .download_directory ⇒ Object
-
.download_modules(definition, packages: []) ⇒ Object
download packages.
-
.fetch_modules(definition, packages: [], download: nil) ⇒ Object
fetch modules and put them in local cache.
-
.local_files(definition, packages: []) ⇒ Object
find already downloaded packages.
Class Method Details
.download_directory ⇒ Object
39 40 41 |
# File 'lib/u3d/downloader.rb', line 39 def download_directory File.(ENV['U3D_DOWNLOAD_PATH'] || File.join(DOWNLOAD_PATH, DOWNLOAD_DIRECTORY)) end |
.download_modules(definition, packages: []) ⇒ Object
download packages
53 54 55 56 57 58 59 60 61 |
# File 'lib/u3d/downloader.rb', line 53 def download_modules(definition, packages: []) files = [] validator, downloader = setup_os(definition.os) packages.each do |package| get_package(downloader, validator, package, definition, files) end files end |
.fetch_modules(definition, packages: [], download: nil) ⇒ Object
fetch modules and put them in local cache
44 45 46 47 48 49 50 |
# File 'lib/u3d/downloader.rb', line 44 def fetch_modules(definition, packages: [], download: nil) if download download_modules(definition, packages: packages) else local_files(definition, packages: packages) end end |
.local_files(definition, packages: []) ⇒ Object
find already downloaded packages
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/u3d/downloader.rb', line 64 def local_files(definition, packages: []) files = [] validator, downloader = setup_os(definition.os) packages.each do |package| path = downloader.destination_for(package, definition) if File.file?(path) if validator.validate(package, path, definition) files << [package, path, definition[package]] else UI.important "File present at #{path} is not correct, will not be used. Skipping #{package}" end else UI.error "No file has been downloaded for #{package}, or it has been moved from #{path}" end end files end |