foo = your_app_name
Foo / Библиотека / Foo / микс / задачи / create_file.ex:
defmodule Mix.Tasks.CreateFile do
use Mix.Task
def run([file_name]) do
app_dir = File.cwd!
app_name = Path.basename(app_dir)
new_file_path = Path.join(
[app_dir, "lib", app_name, "#{file_name}.ex"]
)
File.write(
new_file_path,
"""
defmodule #{String.capitalize(app_name)}.#{String.capitalize(file_name)} do
def hello do
end
def goodbye do
end
end
""",
[:write]
)
end
end
Если вы запускаете задачу смешивания:
~/phoenix_apps/foo$ mix create_file skeleton
["skeleton"]
будет передано в качестве аргумента run()
, и задача создаст файл:
foo/lib/foo/skeleton.ex
с содержанием:
defmodule Foo.Skeleton do
def hello do
end
def goodbye do
end
end