use geoffrey_models::models::locations::Location; use geoffrey_models::models::player::Player; pub fn display_owners(owners: Vec, 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::>() .join(", "), ellipses ) } pub fn display_loc(loc: Location) -> String { format!( "**{}**, {}, Owner(s): **{}**", loc.name, loc.position, display_owners(loc.owners, 3) ) }