Sha256: 5aa269dfe31b723f3ebfc7ecf95f5ab210f97ccffc37ae80b780d1d7c3092066

Contents?: true

Size: 1018 Bytes

Versions: 16

Compression:

Stored size: 1018 Bytes

Contents

use crate::RbConfig;

#[allow(dead_code)]
pub const LATEST_STABLE_VERSION: Version = Version::new(3, 3);
#[allow(dead_code)]
pub const MIN_SUPPORTED_STABLE_VERSION: Version = Version::new(2, 6);

#[derive(Debug, PartialEq, Eq, PartialOrd, Clone, Copy)]
pub struct Version(u32, u32);

impl Version {
    pub const fn new(major: u32, minor: u32) -> Self {
        Self(major, minor)
    }

    pub fn major(&self) -> u32 {
        self.0
    }

    pub fn minor(&self) -> u32 {
        self.1
    }

    pub fn current(rbconfig: &RbConfig) -> Version {
        Self(
            rbconfig.get("MAJOR").parse::<i32>().unwrap() as _,
            rbconfig.get("MINOR").parse::<i32>().unwrap() as _,
        )
    }

    #[allow(dead_code)]
    pub fn is_stable(&self) -> bool {
        *self >= MIN_SUPPORTED_STABLE_VERSION && *self <= LATEST_STABLE_VERSION
    }
}

impl std::fmt::Display for Version {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        write!(f, "{}.{}", self.0, self.1)
    }
}

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
wasmtime-26.0.0 ./ext/cargo-vendor/rb-sys-0.9.102/build/version.rs
wasmtime-25.0.2 ./ext/cargo-vendor/rb-sys-0.9.102/build/version.rs
wasmtime-25.0.1 ./ext/cargo-vendor/rb-sys-0.9.102/build/version.rs
wasmtime-25.0.0 ./ext/cargo-vendor/rb-sys-0.9.102/build/version.rs
wasmtime-24.0.0 ./ext/cargo-vendor/rb-sys-0.9.102/build/version.rs
wasmtime-23.0.2 ./ext/cargo-vendor/rb-sys-0.9.100/build/version.rs
wasmtime-22.0.0 ./ext/cargo-vendor/rb-sys-0.9.100/build/version.rs
wasmtime-21.0.1 ./ext/cargo-vendor/rb-sys-0.9.100/build/version.rs
wasmtime-20.0.2 ./ext/cargo-vendor/rb-sys-0.9.97/build/version.rs
wasmtime-20.0.0 ./ext/cargo-vendor/rb-sys-0.9.97/build/version.rs
wasmtime-18.0.3 ./ext/cargo-vendor/rb-sys-0.9.89/build/version.rs
wasmtime-17.0.1 ./ext/cargo-vendor/rb-sys-0.9.86/build/version.rs
wasmtime-17.0.0 ./ext/cargo-vendor/rb-sys-0.9.86/build/version.rs
wasmtime-16.0.0 ./ext/cargo-vendor/rb-sys-0.9.86/build/version.rs
wasmtime-15.0.1 ./ext/cargo-vendor/rb-sys-0.9.86/build/version.rs
wasmtime-15.0.0 ./ext/cargo-vendor/rb-sys-0.9.86/build/version.rs