16 lines
512 B
Elixir
16 lines
512 B
Elixir
defmodule Web.Paths do
|
|
use Web, :html
|
|
|
|
def public_post_path(%Schema.Post{kind: :status} = status), do: public_status_path(status)
|
|
def public_post_path(%Schema.Post{kind: :blog} = blog), do: public_blog_path(blog)
|
|
|
|
def public_status_path(%Schema.Post{kind: :status} = status) do
|
|
~p"/status/#{status}"
|
|
end
|
|
|
|
def public_blog_path(%Schema.Post{kind: :blog} = blog) do
|
|
if date = Core.Posts.publish_date(blog) do
|
|
~p"/blog/#{date.year}/#{date.month}/#{date.day}/#{blog.slug}"
|
|
end
|
|
end
|
|
end
|