1414//! ```rust
1515//! # use std::sync::Arc;
1616//! # use tempfile::TempDir;
17- //! use torrust_tracker_deployer_lib::infrastructure::external_tools::ansible::template::renderer::inventory::InventoryTemplateRenderer ;
17+ //! use torrust_tracker_deployer_lib::infrastructure::external_tools::ansible::template::renderer::inventory::InventoryRenderer ;
1818//! use torrust_tracker_deployer_lib::domain::template::TemplateManager;
1919//! use torrust_tracker_deployer_lib::infrastructure::external_tools::ansible::template::wrappers::inventory::InventoryContext;
2020//!
2121//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
2222//! let temp_dir = TempDir::new()?;
2323//! let template_manager = Arc::new(TemplateManager::new("/path/to/templates"));
24- //! let renderer = InventoryTemplateRenderer ::new(template_manager);
24+ //! let renderer = InventoryRenderer ::new(template_manager);
2525//!
2626//! let inventory_context = InventoryContext::builder().build()?;
2727//! renderer.render(&inventory_context, temp_dir.path())?;
@@ -41,7 +41,7 @@ use crate::infrastructure::external_tools::ansible::template::wrappers::inventor
4141
4242/// Errors that can occur during inventory template rendering
4343#[ derive( Error , Debug ) ]
44- pub enum InventoryTemplateError {
44+ pub enum InventoryRendererError {
4545 /// Failed to get template path from template manager
4646 #[ error( "Failed to get template path for '{file_name}': {source}" ) ]
4747 TemplatePathFailed {
@@ -87,11 +87,11 @@ pub enum InventoryTemplateError {
8787/// - Loading the inventory.yml.tera template
8888/// - Processing it with runtime context (hosts, SSH keys, etc.)
8989/// - Rendering the final inventory.yml file for Ansible consumption
90- pub struct InventoryTemplateRenderer {
90+ pub struct InventoryRenderer {
9191 template_manager : Arc < TemplateManager > ,
9292}
9393
94- impl InventoryTemplateRenderer {
94+ impl InventoryRenderer {
9595 /// Template filename for the inventory Tera template
9696 const INVENTORY_TEMPLATE_FILE : & ' static str = "inventory.yml.tera" ;
9797
@@ -137,29 +137,29 @@ impl InventoryTemplateRenderer {
137137 & self ,
138138 inventory_context : & InventoryContext ,
139139 output_dir : & Path ,
140- ) -> Result < ( ) , InventoryTemplateError > {
140+ ) -> Result < ( ) , InventoryRendererError > {
141141 tracing:: debug!( "Rendering inventory template with runtime variables" ) ;
142142
143143 // Get the inventory template path
144144 let inventory_template_path = self
145145 . template_manager
146146 . get_template_path ( & Self :: build_template_path ( ) )
147- . map_err ( |source| InventoryTemplateError :: TemplatePathFailed {
147+ . map_err ( |source| InventoryRendererError :: TemplatePathFailed {
148148 file_name : Self :: INVENTORY_TEMPLATE_FILE . to_string ( ) ,
149149 source,
150150 } ) ?;
151151
152152 // Read template content
153153 let inventory_template_content = std:: fs:: read_to_string ( & inventory_template_path)
154- . map_err ( |source| InventoryTemplateError :: TeraTemplateReadFailed {
154+ . map_err ( |source| InventoryRendererError :: TeraTemplateReadFailed {
155155 file_name : Self :: INVENTORY_TEMPLATE_FILE . to_string ( ) ,
156156 source,
157157 } ) ?;
158158
159159 // Create File object for template processing
160160 let inventory_template_file =
161161 File :: new ( Self :: INVENTORY_TEMPLATE_FILE , inventory_template_content) . map_err (
162- |source| InventoryTemplateError :: FileCreationFailed {
162+ |source| InventoryRendererError :: FileCreationFailed {
163163 file_name : Self :: INVENTORY_TEMPLATE_FILE . to_string ( ) ,
164164 source,
165165 } ,
@@ -168,14 +168,14 @@ impl InventoryTemplateRenderer {
168168 // Create InventoryTemplate with runtime context
169169 let inventory_template =
170170 InventoryTemplate :: new ( & inventory_template_file, inventory_context. clone ( ) ) . map_err (
171- |source| InventoryTemplateError :: InventoryTemplateCreationFailed { source } ,
171+ |source| InventoryRendererError :: InventoryTemplateCreationFailed { source } ,
172172 ) ?;
173173
174174 // Render to output file
175175 let inventory_output_path = output_dir. join ( Self :: INVENTORY_OUTPUT_FILE ) ;
176176 inventory_template
177177 . render ( & inventory_output_path)
178- . map_err ( |source| InventoryTemplateError :: InventoryTemplateRenderFailed { source } ) ?;
178+ . map_err ( |source| InventoryRendererError :: InventoryTemplateRenderFailed { source } ) ?;
179179
180180 tracing:: debug!(
181181 "Successfully rendered inventory template to {}" ,
@@ -252,7 +252,7 @@ mod tests {
252252 let temp_dir = TempDir :: new ( ) . expect ( "Failed to create temp directory" ) ;
253253 let template_manager = Arc :: new ( TemplateManager :: new ( temp_dir. path ( ) ) ) ;
254254
255- let renderer = InventoryTemplateRenderer :: new ( template_manager. clone ( ) ) ;
255+ let renderer = InventoryRenderer :: new ( template_manager. clone ( ) ) ;
256256
257257 assert ! ( Arc :: ptr_eq( & renderer. template_manager, & template_manager) ) ;
258258 }
@@ -261,9 +261,9 @@ mod tests {
261261 fn it_should_build_correct_template_path ( ) {
262262 let temp_dir = TempDir :: new ( ) . expect ( "Failed to create temp directory" ) ;
263263 let template_manager = Arc :: new ( TemplateManager :: new ( temp_dir. path ( ) ) ) ;
264- let _renderer = InventoryTemplateRenderer :: new ( template_manager) ;
264+ let _renderer = InventoryRenderer :: new ( template_manager) ;
265265
266- let template_path = InventoryTemplateRenderer :: build_template_path ( ) ;
266+ let template_path = InventoryRenderer :: build_template_path ( ) ;
267267
268268 assert_eq ! ( template_path, "ansible/inventory.yml.tera" ) ;
269269 }
@@ -284,7 +284,7 @@ mod tests {
284284 . ensure_templates_dir ( )
285285 . expect ( "Failed to ensure templates directory" ) ;
286286
287- let renderer = InventoryTemplateRenderer :: new ( template_manager) ;
287+ let renderer = InventoryRenderer :: new ( template_manager) ;
288288 let inventory_context = create_test_inventory_context ( temp_dir. path ( ) ) ;
289289
290290 // Render template
@@ -339,7 +339,7 @@ mod tests {
339339 . ensure_templates_dir ( )
340340 . expect ( "Failed to ensure templates directory" ) ;
341341
342- let renderer = InventoryTemplateRenderer :: new ( template_manager) ;
342+ let renderer = InventoryRenderer :: new ( template_manager) ;
343343 let inventory_context = create_test_inventory_context ( temp_dir. path ( ) ) ;
344344
345345 let result = renderer. render ( & inventory_context, & output_dir) ;
@@ -349,7 +349,7 @@ mod tests {
349349 "Should fail when template references non-existent context field"
350350 ) ;
351351 match result. unwrap_err ( ) {
352- InventoryTemplateError :: InventoryTemplateCreationFailed { .. } => {
352+ InventoryRendererError :: InventoryTemplateCreationFailed { .. } => {
353353 // Expected error type when template engine fails to process template
354354 }
355355 other => panic ! ( "Expected InventoryTemplateCreationFailed, got: {other:?}" ) ,
@@ -379,7 +379,7 @@ mod tests {
379379 . ensure_templates_dir ( )
380380 . expect ( "Failed to ensure templates directory" ) ;
381381
382- let renderer = InventoryTemplateRenderer :: new ( template_manager) ;
382+ let renderer = InventoryRenderer :: new ( template_manager) ;
383383 let inventory_context = create_test_inventory_context ( temp_dir. path ( ) ) ;
384384
385385 let result = renderer. render ( & inventory_context, & output_dir) ;
@@ -388,7 +388,7 @@ mod tests {
388388 // The exact error type will depend on the template engine's error handling
389389 assert ! ( matches!(
390390 result. unwrap_err( ) ,
391- InventoryTemplateError :: InventoryTemplateCreationFailed { .. }
391+ InventoryRendererError :: InventoryTemplateCreationFailed { .. }
392392 ) ) ;
393393 }
394394
@@ -414,7 +414,7 @@ mod tests {
414414 . ensure_templates_dir ( )
415415 . expect ( "Failed to ensure templates directory" ) ;
416416
417- let renderer = InventoryTemplateRenderer :: new ( template_manager) ;
417+ let renderer = InventoryRenderer :: new ( template_manager) ;
418418 let inventory_context = create_test_inventory_context ( temp_dir. path ( ) ) ;
419419
420420 let result = renderer. render ( & inventory_context, & output_dir) ;
@@ -424,7 +424,7 @@ mod tests {
424424 "Should fail when output directory is read-only"
425425 ) ;
426426 match result. unwrap_err ( ) {
427- InventoryTemplateError :: InventoryTemplateRenderFailed { .. } => {
427+ InventoryRendererError :: InventoryTemplateRenderFailed { .. } => {
428428 // Expected error type
429429 }
430430 other => panic ! ( "Expected InventoryTemplateRenderFailed, got: {other:?}" ) ,
0 commit comments