aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/composite_repository.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-10 00:54:22 +0900
committernsfisis <nsfisis@gmail.com>2026-06-10 00:54:58 +0900
commite583112899cbea7494ffdd73d7de380dd5f808c4 (patch)
tree1ec002a4d9ab5af5f81ff3bc0ae0ea6a92e44c10 /crates/shirabe/src/repository/composite_repository.rs
parent436e12381dd79e419dce755718be17b66d73e17f (diff)
downloadphp-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.gz
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.zst
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.zip
feat(phase-c): resolve exception-handling phase-b TODOs
* Catch specific exception types instead of broad/placeholder handling. * Drop the shim Countable trait.
Diffstat (limited to 'crates/shirabe/src/repository/composite_repository.rs')
-rw-r--r--crates/shirabe/src/repository/composite_repository.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/crates/shirabe/src/repository/composite_repository.rs b/crates/shirabe/src/repository/composite_repository.rs
index 97fad44..dafedfc 100644
--- a/crates/shirabe/src/repository/composite_repository.rs
+++ b/crates/shirabe/src/repository/composite_repository.rs
@@ -62,13 +62,16 @@ impl CompositeRepository {
}
}
-impl shirabe_php_shim::Countable for CompositeRepository {
- fn count(&self) -> i64 {
- self.repositories.iter().map(|r| r.count()).sum()
+impl RepositoryInterface for CompositeRepository {
+ fn count(&self) -> anyhow::Result<usize> {
+ let mut total = 0;
+ for repository in &self.repositories {
+ total += repository.count()?;
+ }
+
+ Ok(total)
}
-}
-impl RepositoryInterface for CompositeRepository {
fn get_repo_name(&self) -> String {
let names: Vec<String> = self
.repositories