aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/repository_factory.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-10 02:49:06 +0900
committernsfisis <nsfisis@gmail.com>2026-06-10 02:49:28 +0900
commit5d3232a80be4b989e89cc7ae4e3642cc5acae030 (patch)
tree06597252809c209e69400e57494b3376158ce0f9 /crates/shirabe/src/repository/repository_factory.rs
parent2d474e91e49c7343d28198eff2b5bbbed9afbcee (diff)
downloadphp-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.tar.gz
php-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.tar.zst
php-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.zip
feat(repository): resolve repository phase-b TODOs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/repository_factory.rs')
-rw-r--r--crates/shirabe/src/repository/repository_factory.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/crates/shirabe/src/repository/repository_factory.rs b/crates/shirabe/src/repository/repository_factory.rs
index 993699f..5543a9e 100644
--- a/crates/shirabe/src/repository/repository_factory.rs
+++ b/crates/shirabe/src/repository/repository_factory.rs
@@ -284,15 +284,18 @@ impl RepositoryFactory {
Self::generate_repository_name_indexed(index, &repo_config_map, &repo_map);
if repo_type == "filesystem" {
- let _json_path = repo_arr
+ let json_path = repo_arr
.get("json")
.and_then(|v| v.as_string())
.unwrap_or("")
.to_string();
- // TODO(phase-b): FilesystemRepository does not yet implement
- // RepositoryInterface; once it does, construct it from JsonFile here.
let created: RepositoryInterfaceHandle =
- todo!("FilesystemRepository as dyn RepositoryInterface");
+ RepositoryInterfaceHandle::new(FilesystemRepository::new(
+ JsonFile::new(json_path, None, None)?,
+ false,
+ None,
+ None,
+ )?);
repo_map.insert(name, created);
} else {
let created = rm.create_repository(