ash_hq/lib/ash_hq_web/routes.ex

35 lines
989 B
Elixir
Raw Normal View History

2022-03-28 10:26:35 +13:00
defmodule AshHqWeb.Routes do
2022-03-29 08:47:43 +13:00
def guide_link(library, version, guide) do
"/docs/guides/#{library.name}/#{version}/#{guide}"
end
2022-03-28 10:26:35 +13:00
def library_link(library, name) do
"/docs/dsl/#{library.name}/#{name}"
end
def extension_link(library, name, extension) do
"/docs/dsl/#{library.name}/#{name}/#{extension}"
end
2022-03-29 08:47:43 +13:00
def doc_link(%AshHq.Docs.Guide{
url_safe_name: url_safe_name,
library_version: %{library_name: library_name, version: version}
}) do
"/docs/guides/#{library_name}/#{version}/#{url_safe_name}"
end
2022-03-28 10:26:35 +13:00
def doc_link(%AshHq.Docs.LibraryVersion{library_name: library_name, version: version}) do
"/docs/dsl/#{library_name}/#{version}"
end
def doc_link(item) do
case item.path do
[] ->
"/docs/dsl/#{item.library_name}/#{item.version_name}/#{item.extension_name}"
path ->
"/docs/dsl/#{item.library_name}/#{item.version_name}/#{item.extension_name}?path=#{Enum.join(path, ".")}"
end
end
end