Current section

Files

Jump to
arc lib arc definition versioning.ex
Raw

lib/arc/definition/versioning.ex

defmodule Arc.Definition.Versioning do
defmacro __using__(_) do
quote do
@versions [:original]
@before_compile Arc.Definition.Versioning
end
end
def resolve_file_name(definition, version, {file, scope}) do
name = definition.filename(version, {file, scope})
conversion = definition.transform(version, {file, scope})
case conversion do
{:noaction} -> "#{name}#{Path.extname(file.file_name)}"
{:convert, args} ->
extension = case Regex.run(~r/-format[ ]*(\w*)/, args) do
nil -> "#{name}#{Path.extname(file.file_name)}"
[_, ext] -> "#{name}.#{ext}"
end
end
end
defmacro __before_compile__(_env) do
quote do
def transform(_, _), do: {:noaction}
def __versions, do: @versions
end
end
end