Packages
Macros to support Ruby-like jbuilder/builder templates to generate JSON and XML
Retired package: Release invalid
Current section
Files
Jump to
Current section
Files
lib/location.ex
defmodule Template.Location do
@moduledoc """
This module provides a convinience macro to generate support for template compilation
"""
defmacro templates(root, ext) do
quote do
@templates unquote(root)
def view_name(@templates <> path), do: view_name(path)
def view_name("/" <> path), do: view_name(path)
def view_name(path) do
path
|> String.downcase
|> String.replace("/", "_")
|> String.replace(".#{unquote(ext)}", "")
|> String.to_atom
end
defp find_templates(), do: find_templates(@templates)
defp find_templates(root), do: Path.wildcard("#{root}/**/*.#{unquote(ext)}")
end
end
defmacro __using__(_options) do
quote do
import unquote(__MODULE__)
end
end
end