obsidian_parser/vault/vault_open/
options.rs1use std::path::{Path, PathBuf};
7
8#[derive(Debug, PartialEq, Eq, Clone)]
13pub struct VaultOptions {
14 path: PathBuf,
16}
17
18impl VaultOptions {
19 pub fn new(path: impl AsRef<Path>) -> Self {
21 Self {
22 path: path.as_ref().to_path_buf(),
23 }
24 }
25
26 #[inline]
28 #[must_use]
29 pub fn path(&self) -> &Path {
30 &self.path
31 }
32
33 #[inline]
35 #[must_use]
36 pub fn into_path(self) -> PathBuf {
37 self.path
38 }
39}
40
41#[cfg(test)]
42mod tests {
43 use super::*;
44
45 #[cfg_attr(feature = "tracing", tracing_test::traced_test)]
46 #[test]
47 fn new() {
48 let path = PathBuf::from("path/to/vault");
49 let options = VaultOptions::new(&path);
50
51 assert_eq!(options.path, path);
52 assert_eq!(options.path(), path);
53 }
54}