From fa478dc0400e293e8bd7e047a44dda86f558738b Mon Sep 17 00:00:00 2001 From: camchenry Date: Thu, 13 Feb 2020 15:24:43 -0500 Subject: [PATCH] Remove unnecessary fields from download location type --- src/download.rs | 75 ++++++++++--------------------------------------- src/types.rs | 11 +++----- 2 files changed, 19 insertions(+), 67 deletions(-) diff --git a/src/download.rs b/src/download.rs index 90ccfd5..048e333 100644 --- a/src/download.rs +++ b/src/download.rs @@ -11,111 +11,66 @@ use std::io::Write; pub fn download_love(version: &LoveVersion, platform: &Platform, bitness: &Bitness) { let file_info = match (version, platform, bitness) { - (&LoveVersion::V11_3, &Platform::Windows, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_3, &Platform::Windows, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.3-win64.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.3-win64.zip", }, - (&LoveVersion::V11_3, &Platform::Windows, &Bitness::X86) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_3, &Platform::Windows, &Bitness::X86) => LoveDownloadLocation { filename: "love-11.3-win32.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.3-win32.zip", }, - (&LoveVersion::V11_3, &Platform::MacOs, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_3, &Platform::MacOs, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.3-macos.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.3-macos.zip", }, - (&LoveVersion::V11_2, &Platform::Windows, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_2, &Platform::Windows, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.2-win64.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.2-win64.zip", }, - (&LoveVersion::V11_2, &Platform::Windows, &Bitness::X86) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_2, &Platform::Windows, &Bitness::X86) => LoveDownloadLocation { filename: "love-11.2-win32.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.2-win32.zip", }, - (&LoveVersion::V11_2, &Platform::MacOs, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_2, &Platform::MacOs, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.2-macos.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.2-macos.zip", }, - (&LoveVersion::V11_1, &Platform::Windows, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_1, &Platform::Windows, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.1-win64.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.1-win64.zip", }, - (&LoveVersion::V11_1, &Platform::Windows, &Bitness::X86) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_1, &Platform::Windows, &Bitness::X86) => LoveDownloadLocation { filename: "love-11.1-win32.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.1-win32.zip", }, - (&LoveVersion::V11_1, &Platform::MacOs, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_1, &Platform::MacOs, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.1-macos.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.1-macos.zip", }, - (&LoveVersion::V11_0, &Platform::Windows, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_0, &Platform::Windows, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.0.0-win64.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.0.0-win64.zip", }, - (&LoveVersion::V11_0, &Platform::Windows, &Bitness::X86) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_0, &Platform::Windows, &Bitness::X86) => LoveDownloadLocation { filename: "love-11.0.0-win32.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.0.0-win32.zip", }, - (&LoveVersion::V11_0, &Platform::MacOs, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V11_0, &Platform::MacOs, &Bitness::X64) => LoveDownloadLocation { filename: "love-11.0.0-macos.zip", url: "https://bitbucket.org/rude/love/downloads/love-11.0.0-macos.zip", }, - (&LoveVersion::V0_10_2, &Platform::Windows, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V0_10_2, &Platform::Windows, &Bitness::X64) => LoveDownloadLocation { filename: "love-0.10.2-win64.zip", url: "https://bitbucket.org/rude/love/downloads/love-0.10.2-win64.zip", }, - (&LoveVersion::V0_10_2, &Platform::Windows, &Bitness::X86) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V0_10_2, &Platform::Windows, &Bitness::X86) => LoveDownloadLocation { filename: "love-0.10.2-win32.zip", url: "https://bitbucket.org/rude/love/downloads/love-0.10.2-win32.zip", }, - (&LoveVersion::V0_10_2, &Platform::MacOs, &Bitness::X64) => LoveVersionFileInfo { - version, - platform, - bitness, + (&LoveVersion::V0_10_2, &Platform::MacOs, &Bitness::X64) => LoveDownloadLocation { filename: "love-0.10.2-macosx-x64.zip", url: "https://bitbucket.org/rude/love/downloads/love-0.10.2-macosx-x64.zip", }, diff --git a/src/types.rs b/src/types.rs index ba4965c..d06960d 100644 --- a/src/types.rs +++ b/src/types.rs @@ -21,21 +21,21 @@ pub struct Project { } /// Represents an operating system or other platform/environment. -#[derive(Debug)] +#[derive(Debug, Copy)] pub enum Platform { Windows, MacOs, } /// Represents a CPU architecture -#[derive(Debug)] +#[derive(Debug, Copy)] pub enum Bitness { X86, // 32 bit X64, // 64 bit } /// Represents a specific version of LÖVE2D -#[derive(Debug)] +#[derive(Debug, Copy)] pub enum LoveVersion { V11_3, V11_2, @@ -45,10 +45,7 @@ pub enum LoveVersion { } /// File info about remote download -pub struct LoveVersionFileInfo<'a> { - pub version: &'a LoveVersion, - pub platform: &'a crate::Platform, - pub bitness: &'a crate::Bitness, +pub struct LoveDownloadLocation<'a> { pub filename: &'a str, pub url: &'a str, }