rorm_cli/utils/
mod.rs

1use std::io;
2use std::io::Write;
3
4pub mod migrations;
5pub mod re;
6
7#[macro_export]
8macro_rules! log_sql {
9    ($query:expr, $do_log:expr) => {{
10        let log_sql_q: String = $query;
11        if $do_log {
12            println!("{}", log_sql_q);
13        }
14        log_sql_q
15    }};
16}
17
18pub(crate) fn question(question: &str) -> bool {
19    loop {
20        print!("{question} [yN] ");
21        io::stdout().flush().expect("Flushing stdout should work!");
22        let mut input = String::new();
23        match io::stdin().read_line(&mut input) {
24            Ok(_) => {
25                input = input.trim().to_string();
26                if input.trim().is_empty() || input == "N" {
27                    return false;
28                } else if input == "y" {
29                    return true;
30                }
31            }
32            Err(error) => {
33                println!("error: {error}");
34                return false;
35            }
36        }
37    }
38}