From d30e6d2d8feb2666497c31d783306f012e9cbb97 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Thu, 14 May 2026 10:47:13 +0100 Subject: [PATCH] Add Credo refactor checks and fix double Enum.map Add 9 enabled + 1 disabled Credo checks from ex_slop README. Fix MapMap finding in ListeningStats.update/1 (single pass). Disable AppendSingleItem (10 pre-existing violations). --- .credo.exs | 13 ++++++++++++- lib/music_library/listening_stats.ex | 3 +-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.credo.exs b/.credo.exs index 83aae993..0181027b 100644 --- a/.credo.exs +++ b/.credo.exs @@ -5,6 +5,15 @@ plugins: [{ExSlop, []}], checks: %{ extra: [ + {Credo.Check.Warning.ExpensiveEmptyEnumCheck, []}, + {Credo.Check.Refactor.DoubleBooleanNegation, []}, + {Credo.Check.Refactor.CondStatements, []}, + {Credo.Check.Refactor.MapMap, []}, + {Credo.Check.Refactor.FilterFilter, []}, + {Credo.Check.Refactor.RejectReject, []}, + {Credo.Check.Refactor.FilterCount, []}, + {Credo.Check.Refactor.NegatedConditionsInUnless, []}, + {Credo.Check.Refactor.UnlessWithElse, []}, {Credo.Check.Refactor.Nesting, max_nesting: 3}, {Credo.Check.Readability.ModuleDoc, ignore_names: [ @@ -32,7 +41,9 @@ ]}, {Credo.Check.Refactor.CyclomaticComplexity, max_complexity: 12} ], - disabled: [] + disabled: [ + {Credo.Check.Refactor.AppendSingleItem, []} + ] } # files etc. } diff --git a/lib/music_library/listening_stats.ex b/lib/music_library/listening_stats.ex index ee7e310e..8f32b3d3 100644 --- a/lib/music_library/listening_stats.ex +++ b/lib/music_library/listening_stats.ex @@ -51,8 +51,7 @@ defmodule MusicLibrary.ListeningStats do def update(tracks) do track_params = tracks - |> Enum.map(fn t -> Map.take(t, @insertable_fields) end) - |> Enum.map(&Map.to_list/1) + |> Enum.map(fn t -> t |> Map.take(@insertable_fields) |> Map.to_list() end) {count, tracks} = Repo.insert_all(Track, track_params,