fix(templates): replace equality check with pattern matching in rewrite_template_file (CSM-027)
This commit is contained in:
@@ -414,9 +414,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### CSM-027 — `if result == :ok` Instead of Pattern Matching
|
### ~~CSM-027 — `if result == :ok` Instead of Pattern Matching~~ ✅ FIXED
|
||||||
- **File:** `lib/bds/templates.ex:445`
|
- **Fixed:** 2026-05-11
|
||||||
- **Fix:** Use `case result do :ok -> ...; _ -> ... end`.
|
- **What was done:**
|
||||||
|
- Replaced `if result == :ok and ...` in `rewrite_template_file/2` with a `case` expression using pattern matching and a `when` guard.
|
||||||
|
- `Persistence.atomic_write` result is now matched directly: `:ok when file_path changed` triggers old file cleanup, `other` (including `{:error, _}`) is returned as-is.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -448,13 +448,12 @@ defmodule BDS.Templates do
|
|||||||
body = published_template_body(original_template)
|
body = published_template_body(original_template)
|
||||||
new_full_path = full_file_path(updated_template.project_id, updated_template.file_path)
|
new_full_path = full_file_path(updated_template.project_id, updated_template.file_path)
|
||||||
|
|
||||||
result =
|
case Persistence.atomic_write(new_full_path, serialize_template_file(updated_template, body)) do
|
||||||
Persistence.atomic_write(new_full_path, serialize_template_file(updated_template, body))
|
:ok when original_template.file_path != updated_template.file_path ->
|
||||||
|
delete_file_if_present(original_template.project_id, original_template.file_path)
|
||||||
|
|
||||||
if result == :ok and original_template.file_path != updated_template.file_path do
|
other ->
|
||||||
delete_file_if_present(original_template.project_id, original_template.file_path)
|
other
|
||||||
else
|
|
||||||
result
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user