Skip to content

Commit b6f7eed

Browse files
committed
refactor: reorganize ansible module structure to eliminate duplicate naming
- Move src/ansible/template_renderer.rs to src/ansible/template/renderer/mod.rs - Move src/ansible/inventory_template_renderer.rs to src/ansible/template/renderer/inventory.rs - Create new hierarchical module structure: ansible/template/renderer/ - Remove redundant '_template_renderer' suffix from file names for cleaner organization - Update all imports and module exports to use new paths - Maintain all existing functionality and test coverage (247 tests pass) - Improve code organization with logical grouping: template → renderer → specific types The new structure is more intuitive: ansible/ mod.rs (exports AnsibleTemplateRenderer, InventoryTemplateRenderer) template/ mod.rs renderer/ mod.rs (AnsibleTemplateRenderer) inventory.rs (InventoryTemplateRenderer)
1 parent bdb2cf9 commit b6f7eed

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

src/ansible/mod.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
//! The main component is `AnsibleTemplateRenderer` which handles the generation
77
//! of Ansible configuration files with dynamic content like VM IP addresses and SSH keys.
88
9-
pub mod inventory_template_renderer;
10-
pub mod template_renderer;
9+
pub mod template;
1110

12-
pub use inventory_template_renderer::InventoryTemplateRenderer;
13-
pub use template_renderer::AnsibleTemplateRenderer;
11+
pub use template::{AnsibleTemplateRenderer, InventoryTemplateRenderer};

src/ansible/template/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//! Ansible template functionality
2+
//!
3+
//! This module provides template-related functionality for Ansible,
4+
//! including various template renderers for different file types.
5+
6+
pub mod renderer;
7+
8+
pub use renderer::{AnsibleTemplateRenderer, InventoryTemplateRenderer};
File renamed without changes.

src/ansible/template_renderer.rs renamed to src/ansible/template/renderer/mod.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
//! # use tempfile::TempDir;
2121
//! # #[tokio::main]
2222
//! # async fn main() -> Result<(), Box<dyn std::error::Error>> {
23-
//! use torrust_tracker_deploy::ansible::AnsibleTemplateRenderer;
23+
//! use torrust_tracker_deploy::ansible::template::{AnsibleTemplateRenderer};
2424
//! use torrust_tracker_deploy::template::TemplateManager;
2525
//! use torrust_tracker_deploy::template::wrappers::ansible::inventory::{
2626
//! InventoryContext, AnsibleHost, SshPrivateKeyFile
@@ -47,12 +47,14 @@ use std::path::{Path, PathBuf};
4747
use std::sync::Arc;
4848
use thiserror::Error;
4949

50-
use crate::ansible::{
51-
inventory_template_renderer::InventoryTemplateError, InventoryTemplateRenderer,
52-
};
50+
use crate::ansible::template::renderer::inventory::InventoryTemplateError;
5351
use crate::template::wrappers::ansible::inventory::InventoryContext;
5452
use crate::template::{FileOperationError, TemplateManager, TemplateManagerError};
5553

54+
pub mod inventory;
55+
56+
pub use inventory::InventoryTemplateRenderer;
57+
5658
/// Errors that can occur during configuration template rendering
5759
#[derive(Error, Debug)]
5860
pub enum ConfigurationTemplateError {
@@ -142,6 +144,7 @@ impl AnsibleTemplateRenderer {
142144
///
143145
/// * `build_dir` - The destination directory where templates will be rendered
144146
/// * `template_manager` - The template manager to source templates from
147+
#[must_use]
145148
pub fn new<P: AsRef<Path>>(build_dir: P, template_manager: Arc<TemplateManager>) -> Self {
146149
let inventory_renderer = InventoryTemplateRenderer::new(template_manager.clone());
147150

src/steps/rendering/ansible_templates.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use std::sync::Arc;
2424
use thiserror::Error;
2525
use tracing::{info, instrument};
2626

27-
use crate::ansible::template_renderer::ConfigurationTemplateError;
27+
use crate::ansible::template::renderer::ConfigurationTemplateError;
2828
use crate::ansible::AnsibleTemplateRenderer;
2929
use crate::command_wrappers::ssh::credentials::SshCredentials;
3030
use crate::template::wrappers::ansible::inventory::{

0 commit comments

Comments
 (0)