Geoffrey-rs/geoffrey_bot/src/bot/formatters.rs

39 lines
814 B
Rust

use geoffrey_models::models::locations::Location;
use geoffrey_models::models::player::Player;
pub fn display_owners(owners: Vec<Player>, limit: usize) -> String {
let mut plural = "";
let mut ellipses = "";
if owners.len() > 1 {
plural = "s"
}
let range = if owners.len() > limit {
ellipses = "...";
limit
} else {
owners.len()
};
format!(
"Owner{}: {}{}",
plural,
owners[0..range]
.iter()
.map(|owner| owner.name.clone())
.collect::<Vec<String>>()
.join(", "),
ellipses
)
}
pub fn display_loc(loc: Location) -> String {
format!(
"**{}**, {}, Owner(s): **{}**",
loc.name,
loc.position,
display_owners(loc.owners, 3)
)
}