Skip to content

Commit 805045d

Browse files
committed
Join class names function
1 parent 2524df9 commit 805045d

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

lib/ex_css_modules/ex_css_modules.ex

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,10 @@ defmodule ExCSSModules do
111111
nil
112112
"""
113113
def class_name(definition, keys) when is_list(keys) do
114-
list = keys
115-
|> Enum.map(&class_name(definition, &1))
116-
|> Enum.reject(&is_nil/1)
117-
118-
if Enum.any?(list) do
119-
Enum.join(list, " ")
120-
else
121-
nil
122-
end
114+
keys
115+
|> Enum.map(&class_name(definition, &1))
116+
|> Enum.reject(&is_nil/1)
117+
|> join_class_name()
123118
end
124119

125120
@doc """
@@ -166,4 +161,7 @@ defmodule ExCSSModules do
166161

167162
defp class_attribute(nil), do: nil
168163
defp class_attribute(class), do: HTML.raw(~s(class="#{class}"))
164+
165+
defp join_class_name(list) when length(list) == 0, do: nil
166+
defp join_class_name(list), do: Enum.join(list, " ")
169167
end

test/ex_css_modules/ex_css_modules_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ defmodule ExCSSModulesTest do
9090
) == "world"
9191
end
9292

93-
test "returns nil ...." do
93+
test "returns nil for an existing classname when value is false" do
9494
assert ExCSSModules.class_name(
9595
%{"hello" => "world", "foo" => "bar"},
9696
[{"hello", false}]

0 commit comments

Comments
 (0)