From 55f52de53065d626aaea8007651251a9a86acc98 Mon Sep 17 00:00:00 2001 From: Sandipsinh Dilipsinh Rathod <62684960+ssddOnTop@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:48:35 -0500 Subject: [PATCH] chore: accept path `AsRef` (#19) --- workspace/gh-workflow/src/generate.rs | 10 +++++----- workspace/gh-workflow/src/workflow.rs | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/workspace/gh-workflow/src/generate.rs b/workspace/gh-workflow/src/generate.rs index 6013cf0..8be7093 100644 --- a/workspace/gh-workflow/src/generate.rs +++ b/workspace/gh-workflow/src/generate.rs @@ -1,21 +1,21 @@ -use std::path::Path; +use std::path::{Path, PathBuf}; use crate::error::{Error, Result}; use crate::Workflow; pub struct Generate { workflow: Workflow, - path: String, + path: PathBuf, } impl Generate { - pub fn new(workflow: Workflow, path: P) -> Self { - Self { workflow, path: path.to_string() } + pub fn new>(workflow: Workflow, path: P) -> Self { + Self { workflow, path: path.as_ref().to_path_buf() } } pub fn generate(&self) -> Result<()> { let comment = include_str!("./comment.yml"); - let path = Path::new(self.path.as_str()); + let path = self.path.as_path(); path.parent() .map_or(Ok(()), std::fs::create_dir_all) diff --git a/workspace/gh-workflow/src/workflow.rs b/workspace/gh-workflow/src/workflow.rs index a2c843f..41265fd 100644 --- a/workspace/gh-workflow/src/workflow.rs +++ b/workspace/gh-workflow/src/workflow.rs @@ -1,6 +1,7 @@ #![allow(clippy::needless_update)] use std::fmt::Display; +use std::path::Path; use derive_setters::Setters; use indexmap::IndexMap; @@ -71,7 +72,7 @@ impl Workflow { Ok(serde_yaml::from_str(yml)?) } - pub fn generate(self, path: T) -> Result<()> { + pub fn generate>(self, path: T) -> Result<()> { Generate::new(self, path).generate() }