sorter.ex (509B)
1 defmodule Credo.CLI.Sorter do 2 @moduledoc false 3 4 # TODO: is this the right place for this module? 5 6 def ensure(list, list_start, list_end \\ []) do 7 list 8 |> to_start(list_start) 9 |> to_end(list_end) 10 end 11 12 def to_start(list, list_start) do 13 list_start = Enum.filter(list_start, &Enum.member?(list, &1)) 14 15 list_start ++ (list -- list_start) 16 end 17 18 def to_end(list, list_end) do 19 list_end = Enum.filter(list_end, &Enum.member?(list, &1)) 20 21 (list -- list_end) ++ list_end 22 end 23 end