Trait AssetManager

Source
pub trait AssetManager: Send + Sync {
    // Required methods
    fn get_template(&self, template_type: &str) -> Result<String>;
    fn get_dockerfile(&self, dockerfile_name: &str) -> Result<Vec<u8>>;
    fn get_dockerfile_file(
        &self,
        dockerfile_name: &str,
        file_path: &str,
    ) -> Result<Vec<u8>>;
    fn list_templates(&self) -> Vec<String>;
    fn list_dockerfiles(&self) -> Vec<String>;

    // Provided methods
    fn get_docker_layer(
        &self,
        layer_type: &str,
        layer_name: &str,
        _project_root: Option<&Path>,
    ) -> Result<Vec<u8>> { ... }
    fn list_docker_layers(
        &self,
        layer_type: &str,
        _project_root: Option<&Path>,
    ) -> Vec<String> { ... }
}
Expand description

Trait for managing TSK assets including templates and dockerfiles

Required Methods§

Source

fn get_template(&self, template_type: &str) -> Result<String>

Get a template by type (e.g., “feature”, “fix”, “doc”)

Source

fn get_dockerfile(&self, dockerfile_name: &str) -> Result<Vec<u8>>

Get a dockerfile as raw bytes

Source

fn get_dockerfile_file( &self, dockerfile_name: &str, file_path: &str, ) -> Result<Vec<u8>>

Get a specific file from a dockerfile directory

Source

fn list_templates(&self) -> Vec<String>

List all available templates

Source

fn list_dockerfiles(&self) -> Vec<String>

List all available dockerfiles

Provided Methods§

Source

fn get_docker_layer( &self, layer_type: &str, layer_name: &str, _project_root: Option<&Path>, ) -> Result<Vec<u8>>

Get a Docker layer file

Source

fn list_docker_layers( &self, layer_type: &str, _project_root: Option<&Path>, ) -> Vec<String>

List available Docker layers of a specific type

Implementors§