neiam
/diogramos
diogramos
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
Credo: single-branch conds become ifs, and a map_join
5ea0ebf · Gabe Morell · 2026-11-04 20:32
Files changed
modified
lib/diogramos/diagrams/folders.ex
+7
−9
@@ -105,15 +105,13 @@ defmodule Diogramos.Diagrams.Folders do
| 105 | 105 | defp ensure_parent_writable(scope, attrs) do |
| 106 | 106 | parent_id = attrs[:parent_id] || attrs["parent_id"] |
| 107 | 107 | |
| 108 | − cond do | |
| 109 | − is_nil(parent_id) -> | |
| 110 | − :ok | |
| 111 | − | |
| 112 | − true -> | |
| 113 | − case Repo.get(Folder, parent_id) do | |
| 114 | − nil -> {:error, :parent_not_found} | |
| 115 | − parent -> Permissions.authorize(scope, :write, parent) | |
| 116 | − end | |
| 108 | + if is_nil(parent_id) do | |
| 109 | + :ok | |
| 110 | + else | |
| 111 | + case Repo.get(Folder, parent_id) do | |
| 112 | + nil -> {:error, :parent_not_found} | |
| 113 | + parent -> Permissions.authorize(scope, :write, parent) | |
| 114 | + end | |
| 117 | 115 | end |
| 118 | 116 | end |
| 119 | 117 |
modified
lib/diogramos/diagrams/mermaid_export.ex
+11
−13
@@ -69,19 +69,17 @@ defmodule Diogramos.Diagrams.MermaidExport do
| 69 | 69 | from_id = connector["from"]["element"] |
| 70 | 70 | to_id = connector["to"]["element"] |
| 71 | 71 | |
| 72 | − cond do | |
| 73 | − is_nil(elements[from_id]) or is_nil(elements[to_id]) -> | |
| 74 | − "" | |
| 75 | − | |
| 76 | − true -> | |
| 77 | − arrow = arrow_for(connector) | |
| 78 | − label = connector["label"] || "" | |
| 79 | − | |
| 80 | − if label == "" do | |
| 81 | − "#{ids[from_id]} #{arrow} #{ids[to_id]}" | |
| 82 | − else | |
| 83 | − "#{ids[from_id]} #{arrow}|#{escape(label)}| #{ids[to_id]}" | |
| 84 | − end | |
| 72 | + if is_nil(elements[from_id]) or is_nil(elements[to_id]) do | |
| 73 | + "" | |
| 74 | + else | |
| 75 | + arrow = arrow_for(connector) | |
| 76 | + label = connector["label"] || "" | |
| 77 | + | |
| 78 | + if label == "" do | |
| 79 | + "#{ids[from_id]} #{arrow} #{ids[to_id]}" | |
| 80 | + else | |
| 81 | + "#{ids[from_id]} #{arrow}|#{escape(label)}| #{ids[to_id]}" | |
| 82 | + end | |
| 85 | 83 | end |
| 86 | 84 | end |
| 87 | 85 |
modified
lib/diogramos_web/live/canvas_live/embed.ex
+7
−9
@@ -71,15 +71,13 @@ defmodule DiogramosWeb.CanvasLive.Embed do
| 71 | 71 | |
| 72 | 72 | @impl true |
| 73 | 73 | def handle_info({:canvas_op, %{op: op, version: version}}, socket) do |
| 74 | − cond do | |
| 75 | − version <= socket.assigns.version -> | |
| 76 | − {:noreply, socket} | |
| 77 | − | |
| 78 | − true -> | |
| 79 | − case Document.apply_op(socket.assigns.document, op) do | |
| 80 | − {:ok, doc} -> {:noreply, assign(socket, document: doc, version: version)} | |
| 81 | − {:error, _} -> {:noreply, socket} | |
| 82 | − end | |
| 74 | + if version <= socket.assigns.version do | |
| 75 | + {:noreply, socket} | |
| 76 | + else | |
| 77 | + case Document.apply_op(socket.assigns.document, op) do | |
| 78 | + {:ok, doc} -> {:noreply, assign(socket, document: doc, version: version)} | |
| 79 | + {:error, _} -> {:noreply, socket} | |
| 80 | + end | |
| 83 | 81 | end |
| 84 | 82 | end |
| 85 | 83 |
modified
lib/diogramos_web/live/canvas_live/index.ex
+1
−2
@@ -839,8 +839,7 @@ defmodule DiogramosWeb.CanvasLive.Index do
| 839 | 839 | defp changeset_message(changeset) do |
| 840 | 840 | changeset |
| 841 | 841 | |> Ecto.Changeset.traverse_errors(fn {msg, _opts} -> msg end) |
| 842 | − |> Enum.map(fn {field, messages} -> "#{field} #{Enum.join(messages, ", ")}" end) | |
| 843 | − |> Enum.join("; ") | |
| 842 | + |> Enum.map_join("; ", fn {field, messages} -> "#{field} #{Enum.join(messages, ", ")}" end) | |
| 844 | 843 | end |
| 845 | 844 | |
| 846 | 845 | defp error_to_string(:too_large), do: "File is too large." |
Parents: 5d06442