Mix v1.8.1 Mix.Generator View Source
Conveniences for working with paths and generating content.
All of these functions are verbose, in the sense they log
the action to be performed via Mix.shell/0
.
Link to this section Summary
Functions
Creates a directory if one does not exist yet.
Creates a file with the given contents. If the file already exists, asks for user confirmation.
Embeds a template given by contents
into the current module.
Embeds a text given by contents
into the current module.
Link to this section Functions
Specs
Creates a directory if one does not exist yet.
This function does nothing if the given directory already exists; in this case, it still logs the directory creation.
Examples
iex> Mix.Generator.create_directory("path/to/dir")
* creating path/to/dir
:ok
Specs
Creates a file with the given contents. If the file already exists, asks for user confirmation.
Options
:force
- forces installation without a shell prompt.
Examples
iex> Mix.Generator.create_file(".gitignore", "_build\ndeps\n")
* creating .gitignore
:ok
Embeds a template given by contents
into the current module.
It will define a private function with the name
followed by
_template
that expects assigns as arguments.
This function must be invoked passing a keyword list.
Each key in the keyword list can be accessed in the
template using the @
macro.
For more information, check EEx.SmartEngine
.
Examples
defmodule Mix.Tasks.MyTask do
require Mix.Generator
Mix.Generator.embed_template(:log, "Log: <%= @log %>")
end
Embeds a text given by contents
into the current module.
It will define a private function with the name
followed by
_text
that expects no arguments.
Examples
defmodule Mix.Tasks.MyTask do
require Mix.Generator
Mix.Generator.embed_text(:error, "There was an error!")
end