Spec-Zone.ru › Elixir 1.11

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

Spec-Zone.ru

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