30 lines
881 B
Raku
30 lines
881 B
Raku
{% set file_name = name | snake_case -%}
|
|
{% set module_name = file_name | pascal_case -%}
|
|
to: "src/tasks/{{file_name}}.rs"
|
|
skip_exists: true
|
|
message: "A Task `{{module_name}}` was added successfully. Run with `cargo loco task {{name}}`."
|
|
injections:
|
|
- into: "src/tasks/mod.rs"
|
|
append: true
|
|
content: "pub mod {{ file_name }};"
|
|
- into: src/app.rs
|
|
before: "// tasks-inject"
|
|
content: " tasks.register(tasks::{{file_name}}::{{module_name}});"
|
|
---
|
|
use loco_rs::prelude::*;
|
|
|
|
pub struct {{module_name}};
|
|
#[async_trait]
|
|
impl Task for {{module_name}} {
|
|
fn task(&self) -> TaskInfo {
|
|
TaskInfo {
|
|
name: "{{name}}".to_string(),
|
|
detail: "Task generator".to_string(),
|
|
}
|
|
}
|
|
async fn run(&self, _app_context: &AppContext, _vars: &task::Vars) -> Result<()> {
|
|
println!("Task {{module_name}} generated");
|
|
Ok(())
|
|
}
|
|
}
|