monger-core 0.14.0

MongoDB version manager
Documentation
use super::LinuxType;
use crate::{os::arch::Architecture, util::get_from_str};

pub fn check_ubuntu(id: &str, version_id: Option<&str>) -> Option<LinuxType> {
    if id == "ubuntu" {
        return check_ubuntu_version(version_id);
    }

    None
}

fn check_ubuntu_version(version_id: Option<&str>) -> Option<LinuxType> {
    let mut version_numbers = version_id?.split('.');

    match version_numbers.next().and_then(get_from_str::<u8>) {
        Some(i) if i >= 18 => Some(LinuxType::Ubuntu1804),
        Some(i) if i >= 16 => Some(LinuxType::Ubuntu1604(Architecture::X86_64)),
        Some(i) if i >= 14 => Some(LinuxType::Ubuntu1404),
        Some(i) if i >= 12 => Some(LinuxType::Ubuntu1204),
        _ => None,
    }
}