2026-05-14 19:30:28 -05:00
|
|
|
use crate::error::DrawerError;
|
|
|
|
|
|
|
|
|
|
pub trait Operation {
|
|
|
|
|
fn validate(&self) -> Result<(), DrawerError>;
|
2026-05-14 19:53:48 -05:00
|
|
|
fn execute(&self) -> Result<(), DrawerError>;
|
|
|
|
|
fn perform(&self) -> Result<(), DrawerError> {
|
|
|
|
|
self.validate()?;
|
|
|
|
|
self.execute()
|
|
|
|
|
}
|
2026-05-14 19:30:28 -05:00
|
|
|
}
|