shiny_application/controllers/
jobs.rs

1use shiny_jobs::Job;
2use std::sync::Arc;
3
4#[derive(Default)]
5pub struct JobsController(Vec<(String, Arc<dyn Job>)>);
6
7impl JobsController {
8    pub fn new() -> Self {
9        JobsController::default()
10    }
11
12    pub fn add(&mut self, name: impl ToString, job: Arc<dyn Job>) -> &mut Self {
13        self.0.push((name.to_string(), job));
14        self
15    }
16
17    pub fn take_jobs(self) -> Vec<(String, Arc<dyn Job>)> {
18        self.0
19    }
20}