File tree 1 file changed +18
-3
lines changed
1 file changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -263,7 +263,7 @@ defmodule Cardian.Builder do
263
263
when is_list ( card . sets_paper ) and length ( card . sets_paper ) > 0 do
264
264
card . sets_paper
265
265
|> Enum . map ( & "[#{ & 1 } ](#{ @ set_base_url } #{ & 1 } )" )
266
- |> Enum . join ( ", " )
266
+ |> truncate_sets ( )
267
267
end
268
268
269
269
defp build_sets ( % Card { } = card , :md ) when is_list ( card . sets_md ) and length ( card . sets_md ) > 0 do
@@ -276,7 +276,7 @@ defmodule Cardian.Builder do
276
276
& 1 . name
277
277
end
278
278
)
279
- |> Enum . join ( ", " )
279
+ |> truncate_sets ( )
280
280
end
281
281
282
282
defp build_sets ( % Card { } = card , :dl ) when is_list ( card . sets_dl ) and length ( card . sets_dl ) > 0 do
@@ -289,11 +289,26 @@ defmodule Cardian.Builder do
289
289
& 1 . name
290
290
end
291
291
)
292
- |> Enum . join ( ", " )
292
+ |> truncate_sets ( )
293
293
end
294
294
295
295
defp build_sets ( _ , _ ) , do: "Unreleased"
296
296
297
+ defp truncate_sets ( sets ) when is_list ( sets ) do
298
+ { sets , rest } = Enum . split ( sets , 5 )
299
+
300
+ case Enum . empty? ( rest ) do
301
+ true ->
302
+ sets
303
+ |> Enum . join ( ", " )
304
+
305
+ false ->
306
+ sets
307
+ |> Enum . join ( ", " )
308
+ |> then ( & "#{ & 1 } and #{ length ( rest ) } more..." )
309
+ end
310
+ end
311
+
297
312
defp try_put_color ( embed , color ) when is_integer ( color ) do
298
313
put_color ( embed , color )
299
314
end
You can’t perform that action at this time.
0 commit comments