defmodule RouteProc do def folderField([]), do: [] def folderField(folder), do: {:folder,FT.binary(folder)} def folderTypeField([]), do: {:folderType,FT.var('FT')} def folderTypeField('perm'), do: [{:folderType,FT.var('FT')},{:type,FT.atom(:permanent)}] def folderTypeField(ft), do: {:folderType,FT.binary(ft)} def usersField([]), do: [] def usersField('[]'), do: [] def usersField(users), do: {:users,FT.cons(:lists.map fn x -> FT.atom(x) end, users)} def callbackField([]), do: [] def callbackField({mod,fun}), do: {:callback,FT.fun(FT.atom(mod),FT.atom(fun),2)} end