git-gamble 2.12.1

blend TDD + TCR to make sure to develop the right thing 😌, baby step by baby step πŸ‘ΆπŸ¦Ά
Documentation
use crate::message::Message;

#[derive(Clone)]
pub struct GambleError {
	pub code: i32,
	pub(crate) messages: Vec<Message>,
}

impl GambleError {
	pub(crate) fn add_message(&self, message: Message) -> GambleError {
		GambleError {
			code: self.code,
			messages: [self.messages.clone(), vec![message]].concat(),
		}
	}

	pub fn display_messages(&self) {
		for message in &self.messages {
			message.display();
		}
	}
}

pub(crate) type GambleResult = Result<(), GambleError>;