doc: Add AI-generated docs
Seems ok, vive les robots!
This commit is contained in:
@@ -2,6 +2,44 @@ use crate::domain::author::Author;
|
||||
use crate::domain::book::Book;
|
||||
use std::path::PathBuf;
|
||||
|
||||
/// Parses a given file path into a vector containing a `Book` object.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `path` - A reference to a `PathBuf` that represents the file path to be parsed.
|
||||
///
|
||||
/// # Returns
|
||||
///
|
||||
/// * `Result<Vec<Book>, String>` -
|
||||
/// - On success, returns a `Vec<Book>` with a single `Book` object populated based on the input path.
|
||||
/// - On failure, returns an error `String` describing the issue.
|
||||
///
|
||||
/// The function performs the following steps:
|
||||
///
|
||||
/// 1. Creates a new instance of `Book`.
|
||||
/// 2. Sets the `title` of the `Book` to the string representation of the input path.
|
||||
/// 3. Creates a new instance of `Author`.
|
||||
/// 4. Sets the `first_name` of the `Author` to the string representation of the file extension of `path`.
|
||||
/// 5. Pushes the `Author` into the `author` vector of the `Book`.
|
||||
/// 6. Returns a `Vec<Book>` containing the newly created `Book`.
|
||||
///
|
||||
/// # Panics
|
||||
///
|
||||
/// The function will panic if the input path does not contain a file extension
|
||||
/// (i.e., when `path.extension()` returns `None`).
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// ```ignore
|
||||
/// use std::path::PathBuf;
|
||||
///
|
||||
/// let path = PathBuf::from("example.txt");
|
||||
/// let books = parse(&path).unwrap();
|
||||
///
|
||||
/// assert_eq!(books.len(), 1);
|
||||
/// assert_eq!(books[0].title, "example.txt");
|
||||
/// assert_eq!(books[0].author[0].first_name, "txt");
|
||||
/// ```
|
||||
pub fn parse(path: &PathBuf) -> Result<Vec<Book>, String> {
|
||||
let mut book = Book::new();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user