Function cli_autoupdate::check_version
source · pub async fn check_version<C: Config, R: Registry>(
config: &C,
registry: &R,
) -> Result<(bool, RemoteVersion)>Expand description
Check if there’s a new version available Example:
use cli_autoupdate::check_version;
struct LabConfig;
struct LabRegistry;
#[tokio::main]
async fn main() {
let config = LabConfig;
let registry = LabRegistry;
let (has_update, version) = check_version(&config, ®istry).await.unwrap();
if has_update {
let bin_name = console::style("binary_name").cyan().italic().bold();
let this_version = config.version();
let other_version = console::style(version.version).green();
let update_url = registry.get_base_url().join(version.path.as_str()).unwrap();
println!(
"A new release of {} is available: {} → {}",
bin_name, this_version, other_version
);
println!("Released on {}", version.datetime);
println!("{}", console::style(update_url).yellow());
}
}