neiam
/feedpug
feedpub
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
Credo: plain ifs in follow_group and unique_sibling_slug
25689a8 · Gabe Morell · 2026-11-04 20:34
Files changed
modified
lib/feed_pug/groups.ex
+8
−10
@@ -331,15 +331,13 @@ defmodule FeedPug.Groups do
| 331 | 331 | |
| 332 | 332 | @doc "Follows another user's group. Rejects following your own group." |
| 333 | 333 | def follow_group(%Scope{user: user}, %Group{} = group) do |
| 334 | − cond do | |
| 335 | − group.user_id == user.id -> | |
| 336 | − {:error, :cannot_follow_own_group} | |
| 337 | − | |
| 338 | − true -> | |
| 339 | − %GroupFollow{} | |
| 340 | − |> GroupFollow.changeset(%{follower_user_id: user.id, group_id: group.id}) | |
| 341 | − |> Repo.insert() | |
| 342 | − |> tap_ok(fn _ -> broadcast_newsfeed_change(user.id) end) | |
| 334 | + if group.user_id == user.id do | |
| 335 | + {:error, :cannot_follow_own_group} | |
| 336 | + else | |
| 337 | + %GroupFollow{} | |
| 338 | + |> GroupFollow.changeset(%{follower_user_id: user.id, group_id: group.id}) | |
| 339 | + |> Repo.insert() | |
| 340 | + |> tap_ok(fn _ -> broadcast_newsfeed_change(user.id) end) | |
| 343 | 341 | end |
| 344 | 342 | end |
| 345 | 343 |
@@ -561,7 +559,7 @@ defmodule FeedPug.Groups do
| 561 | 559 | |
| 562 | 560 | defp unique_sibling_slug(user_id, parent_id, base, exclude_id \\ nil) do |
| 563 | 561 | taken = sibling_slugs(user_id, parent_id, exclude_id) |
| 564 | − if base not in taken, do: base, else: next_free_slug(base, taken, 2) | |
| 562 | + if base in taken, do: next_free_slug(base, taken, 2), else: base | |
| 565 | 563 | end |
| 566 | 564 | |
| 567 | 565 | defp next_free_slug(base, taken, n) do |
Parents: 0efc71d