git-gamble 2.14.2

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

#[derive(Clone, Debug)]
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) {
		self.messages.iter().for_each(Message::display);
	}
}

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