zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

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