nanite_docker/instruction/arg.rs
1use alloc::string::String;
2use core::fmt::{Display, Formatter};
3
4/// Represents an `ARG` instruction
5///
6/// ```rust
7/// use nanite_docker::{Arg};
8///
9/// let arg = Arg {
10/// name: "name".to_string(),
11/// default: Some("default".to_string()),
12/// };
13/// let arg_built = format!("{arg}");
14/// assert_eq!(arg_built, "ARG name=default");
15/// ```
16
17#[derive(Clone, Debug)]
18pub struct Arg {
19 pub name: String,
20 pub default: Option<String>,
21}
22impl Display for Arg {
23 fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
24 match &self.default {
25 Some(default) => write!(f, "ARG {}={default}", self.name),
26 None => write!(f, "ARG {}", self.name),
27 }
28 }
29}