From 39e346df75b202b25c2dae27516b0d889315985e Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Thu, 9 Feb 2023 14:11:05 +0100 Subject: [PATCH] Use one case instead of nested ifs --- lib/plausible/stats/props.ex | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/lib/plausible/stats/props.ex b/lib/plausible/stats/props.ex index 9049ec8f7afa..5ae3bb879da2 100644 --- a/lib/plausible/stats/props.ex +++ b/lib/plausible/stats/props.ex @@ -6,13 +6,12 @@ defmodule Plausible.Stats.Props do prop_filter = Enum.find(query.filters, fn {key, _} -> String.starts_with?(key, "event:props:") end) - if prop_filter do - {"event:props:" <> key, {_, val}} = prop_filter - - if val == "(none)" do + case prop_filter do + {"event:props:" <> key, {_, "(none)"}} -> {_, _, goal_name} = query.filters["event:goal"] %{goal_name => [key]} - else + + {"event:props:" <> _key, _} -> ClickhouseRepo.all( from [e, meta: meta] in base_event_query(site, query), select: {e.name, meta.key}, @@ -21,17 +20,17 @@ defmodule Plausible.Stats.Props do |> Enum.reduce(%{}, fn {goal_name, meta_key}, acc -> Map.update(acc, goal_name, [meta_key], fn list -> [meta_key | list] end) end) - end - else - ClickhouseRepo.all( - from e in base_event_query(site, query), - inner_lateral_join: meta in fragment("meta as m"), - select: {e.name, meta.key}, - distinct: true - ) - |> Enum.reduce(%{}, fn {goal_name, meta_key}, acc -> - Map.update(acc, goal_name, [meta_key], fn list -> [meta_key | list] end) - end) + + nil -> + ClickhouseRepo.all( + from e in base_event_query(site, query), + inner_lateral_join: meta in fragment("meta as m"), + select: {e.name, meta.key}, + distinct: true + ) + |> Enum.reduce(%{}, fn {goal_name, meta_key}, acc -> + Map.update(acc, goal_name, [meta_key], fn list -> [meta_key | list] end) + end) end end end