lib-ruby-parser-nodes 0.57.0

Ruby parser nodes data
Documentation
fn print_usage_and_exit() -> ! {
    eprintln!("Usage: codegen --template <template.liquid> --write-to <outfile>");
    std::process::exit(1);
}

fn try_arg(key: &str) -> Option<String> {
    let idx = std::env::args().position(|e| e == key)?;
    let value = std::env::args().nth(idx + 1)?;
    Some(value)
}

fn get_arg(key: &str) -> String {
    try_arg(key).unwrap_or_else(|| {
        eprintln!("No {} CLI option given", key);
        print_usage_and_exit()
    })
}

fn main() {
    let template_path = get_arg("--template");
    let output_path = get_arg("--write-to");

    let rendered = lib_ruby_parser_nodes::LiquidTemplate::new(template_path).render();
    std::fs::write(output_path, rendered).unwrap();
}