Mix.Generator
Удобства для работы с путями и генерации содержимого.
Краткое описание
Функции
- copy_file(source, target, options \\ [])
Копирует
sourceвtarget.- copy_template(source, target, assigns, options \\ [])
Вычисляет и копирует шаблоны из
sourceвtarget.- create_directory(path, options \\ [])
Создает директорию, если она не существует.
- create_file(path, contents, opts \\ [])
Создает файл с заданным содержимым.
- embed_template(name, contents)
Встраивает шаблон, заданный
contentsв текущий модуль.- embed_text(name, contents)
Встраивает текст, заданный
contentsв текущий модуль.- overwrite?(path)
Запрашивает у пользователя подтверждение перезаписи файла, если он существует.
- overwrite?(path, contents)
Запрашивает у пользователя подтверждение перезаписи файла, если он существует.
Функции
copy_file(source, target, options \\ [])
Спецификации
copy_file(Path.t(), Path.t(), keyword()) :: boolean()
Копирует source в target.
Если target уже существует и содержимое не совпадает, запрашивается подтверждение пользователя.
Параметры
-
:force- принудительно копирует без запроса в консоли -
:quiet- не записывать вывод команд
Примеры
iex> Mix.Generator.copy_file("source/gitignore", ".gitignore")
* creating .gitignore
true copy_template(source, target, assigns, options \\ [])
Спецификации
copy_template(Path.t(), Path.t(), keyword(), keyword()) :: boolean()
Вычисляет и копирует шаблоны из source в target.
Шаблон в source вычисляется с заданными assigns.
Если target уже существует и содержимое не совпадает, запрашивается подтверждение пользователя.
Параметры
-
:force- принудительно копирует без запроса в консоли -
:quiet- не записывать вывод команд
Примеры
iex> assigns = [project_path: "/Users/joe/newproject"]
iex> Mix.Generator.copy_template("source/gitignore", ".gitignore", assigns)
* creating .gitignore
true create_directory(path, options \\ [])
Спецификации
create_directory(Path.t(), keyword()) :: true
Создает директорию, если она не существует.
Эта функция ничего не делает, если директория уже существует; в этом случае она всё равно записывает создание директории.
Параметры
-
:quiet- не записывать вывод команд
Примеры
iex> Mix.Generator.create_directory("path/to/dir")
* creating path/to/dir
true create_file(path, contents, opts \\ [])
Спецификации
create_file(Path.t(), iodata(), keyword()) :: boolean()
Создает файл с заданным содержимым.
Если файл уже существует и содержимое не совпадает, запрашивается подтверждение пользователя.
Параметры
-
:force- принудительно создает без запроса в консоли -
:quiet- не записывать вывод команд
Примеры
iex> Mix.Generator.create_file(".gitignore", "_build\ndeps\n")
* creating .gitignore
true embed_template(name, contents)
Встраивает шаблон, заданный contents в текущий модуль.
Он определит частную функцию с name за которым следует _template, которая ожидает аргументы.
Эта функция должна вызываться со списком ключевых слов. Ключи в списке ключевых слов могут быть доступны в шаблоне, используя макрос @.
Для получения дополнительной информации см. EEx.SmartEngine.
Примеры
defmodule Mix.Tasks.MyTask do require Mix.Generator Mix.Generator.embed_template(:log, "Log: <%= @log %>") end
embed_text(name, contents)
Встраивает текст, заданный contents в текущий модуль.
Он определит частную функцию с name за которым следует _text, которая не ожидает аргументов.
Примеры
defmodule Mix.Tasks.MyTask do require Mix.Generator Mix.Generator.embed_text(:error, "There was an error!") end
overwrite?(path)
Спецификации
overwrite?(Path.t()) :: boolean()
Запрашивает у пользователя подтверждение перезаписи файла, если он существует.
Возвращает false, если файл существует, и пользователь запретил перезапись. В противном случае возвращает true.
overwrite?(path, contents)
Спецификации
overwrite?(Path.t(), iodata()) :: boolean()
Запрашивает у пользователя подтверждение перезаписи файла, если он существует.
Содержимое сравнивается, чтобы избежать запроса подтверждения пользователя, если содержимое не изменилось. Возвращает false, если файл существует и содержимое одинаковое или пользователь запретил перезапись. В противном случае возвращает true.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.11.2/Mix.Generator.html