From 3fadd109e732bc70955662a87586265c597b135c Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sat, 9 Mar 2024 22:46:10 +0100 Subject: [PATCH] Hide methods --- src/core/musichoard/builder.rs | 5 ++++- src/core/musichoard/library.rs | 14 ++++++++------ src/core/musichoard/mod.rs | 1 + src/lib.rs | 4 ++-- src/tui/lib.rs | 4 ++-- tests/lib.rs | 2 +- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/core/musichoard/builder.rs b/src/core/musichoard/builder.rs index 0a9f53e..90bdb0a 100644 --- a/src/core/musichoard/builder.rs +++ b/src/core/musichoard/builder.rs @@ -146,7 +146,10 @@ impl MusicHoard { #[cfg(test)] mod tests { - use crate::core::interface::{database::NullDatabase, library::NullLibrary}; + use crate::core::{ + interface::{database::NullDatabase, library::NullLibrary}, + musichoard::library::IMusicHoardLibrary, + }; use super::*; diff --git a/src/core/musichoard/library.rs b/src/core/musichoard/library.rs index 1ec70dc..7194f07 100644 --- a/src/core/musichoard/library.rs +++ b/src/core/musichoard/library.rs @@ -17,17 +17,19 @@ use crate::core::{ }, }; -impl MusicHoard { - /// Rescan the library and merge with the in-memory collection. - pub fn rescan_library(&mut self) -> Result<(), Error> { +pub trait IMusicHoardLibrary { + fn rescan_library(&mut self) -> Result<(), Error>; +} + +impl IMusicHoardLibrary for MusicHoard { + fn rescan_library(&mut self) -> Result<(), Error> { self.pre_commit = self.rescan_library_inner()?; self.commit() } } -impl MusicHoard { - /// Rescan the library and merge with the in-memory collection. - pub fn rescan_library(&mut self) -> Result<(), Error> { +impl IMusicHoardLibrary for MusicHoard { + fn rescan_library(&mut self) -> Result<(), Error> { self.pre_commit = self.rescan_library_inner()?; self.commit() } diff --git a/src/core/musichoard/mod.rs b/src/core/musichoard/mod.rs index 2812afa..c6a3999 100644 --- a/src/core/musichoard/mod.rs +++ b/src/core/musichoard/mod.rs @@ -8,6 +8,7 @@ pub mod builder; pub use base::IMusicHoardBase; pub use database::IMusicHoardDatabase; +pub use library::IMusicHoardLibrary; use std::{ collections::HashMap, diff --git a/src/lib.rs b/src/lib.rs index 59f5f3b..f864d95 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,8 +8,8 @@ pub use core::collection; pub use core::interface; pub use core::musichoard::{ - builder::MusicHoardBuilder, Error, IMusicHoardBase, IMusicHoardDatabase, MusicHoard, - NoDatabase, NoLibrary, + builder::MusicHoardBuilder, Error, IMusicHoardBase, IMusicHoardDatabase, IMusicHoardLibrary, + MusicHoard, NoDatabase, NoLibrary, }; #[cfg(test)] diff --git a/src/tui/lib.rs b/src/tui/lib.rs index 535be10..d0a812c 100644 --- a/src/tui/lib.rs +++ b/src/tui/lib.rs @@ -1,6 +1,6 @@ use musichoard::{ collection::Collection, interface::database::IDatabase, interface::library::ILibrary, - IMusicHoardBase, IMusicHoardDatabase, MusicHoard, + IMusicHoardBase, IMusicHoardDatabase, IMusicHoardLibrary, MusicHoard, }; #[cfg(test)] @@ -16,7 +16,7 @@ pub trait IMusicHoard { // GRCOV_EXCL_START impl IMusicHoard for MusicHoard { fn rescan_library(&mut self) -> Result<(), musichoard::Error> { - Self::rescan_library(self) + ::rescan_library(self) } fn reload_database(&mut self) -> Result<(), musichoard::Error> { diff --git a/tests/lib.rs b/tests/lib.rs index ddfc80f..ce2e5aa 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -9,7 +9,7 @@ mod testlib; use musichoard::{ database::json::{backend::JsonDatabaseFileBackend, JsonDatabase}, library::beets::{executor::BeetsLibraryProcessExecutor, BeetsLibrary}, - IMusicHoardBase, IMusicHoardDatabase, MusicHoard, + IMusicHoardBase, IMusicHoardDatabase, IMusicHoardLibrary, MusicHoard, }; use crate::testlib::COLLECTION;