Spec-Zone.ru › Elixir 1.12

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 \\ [])Source

Specs

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 \\ [])Source

Specs

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 \\ [])Source

Specs

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 \\ [])Source

Specs

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)Source

Встраивает шаблон, заданный 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)Source

Встраивает текст, заданный contents в текущий модуль.

Определит частную функцию с именем name и _text, которая не ожидает аргументов.

Примеры

defmodule Mix.Tasks.MyTask do
  require Mix.Generator
  Mix.Generator.embed_text(:error, "There was an error!")
end

overwrite?(path)Source

Specs

overwrite?(Path.t()) :: boolean()

Запрашивает у пользователя подтверждение перезаписи файла, если он существует.

Возвращает false, если файл существует и пользователь запретил перезапись. В противном случае возвращает true.

overwrite?(path, contents)Source

Specs

overwrite?(Path.t(), iodata()) :: boolean()

Запрашивает у пользователя подтверждение перезаписи файла, если он существует.

Содержимое сравнивается, чтобы избежать запроса подтверждения, если содержимое не изменилось. Возвращает false, если файл существует и содержимое совпадает или пользователь запретил перезапись. В противном случае возвращает true.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.12.0/Mix.Generator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API