use clap::{App, ArgMatches};
use sloggers::LoggerBuilder;
pub mod bucket;
pub mod rpc_addr;
pub mod set_repair_config;
pub mod truncate_bucket;
pub trait FrugalosSubcommand {
fn get_subcommand<'a, 'b: 'a>(&self) -> App<'a, 'b>;
fn check_matches<'a>(&self, matches: &'a ArgMatches<'a>) -> Option<&'a ArgMatches<'a>>;
fn handle_matches(
&self,
logger_builder: LoggerBuilder,
matches: &ArgMatches,
unknown_fields: &[String],
);
}
pub fn warn_if_there_are_unknown_fields(logger: &mut slog::Logger, unknown_fields: &[String]) {
if !unknown_fields.is_empty() {
warn!(
logger,
"The following unknown fields were passed:\n{:?}", unknown_fields
);
}
}