diff options
author | Loïc Hoguin <[email protected]> | 2024-11-21 15:55:37 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-11-22 14:36:39 +0100 |
commit | e299e34960cd8968f7a8a9914e47ea83ed9218c2 (patch) | |
tree | d63594a5a95d23904b8e95bd68387c66e032df85 /templates/gen_server.erl | |
parent | 9376f53f549c05cf692d0e259763049a039e96eb (diff) | |
download | erlang.mk-templates.tar.gz erlang.mk-templates.tar.bz2 erlang.mk-templates.zip |
Move templates outside the source .mk filestemplates
Templates now no longer use Make variables for substitution
but instead replace strings with their equivalent:
template_name: Corresponds to n=template_name
project_name: Corresponds to $(PROJECT) or in=project_name
This allows defining templates outside of Makefiles. For
example an external plugin could define their templates
in templates/my_template.erl and then have the following
in the included Makefile:
tpl_my_template = $(file < $(THIS)/templates/my_template.erl)
By default the created file will be in src/template_name.erl.
This can be overriden with the tplp_* variable:
tplp_my_template = src/model/my_template.erl
Substitution is applied both to the template contents and
to its path.
In addition, attempting to overwrite an existing file when
creating a template will result in failure.
Diffstat (limited to 'templates/gen_server.erl')
-rw-r--r-- | templates/gen_server.erl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/templates/gen_server.erl b/templates/gen_server.erl new file mode 100644 index 0000000..d297edf --- /dev/null +++ b/templates/gen_server.erl @@ -0,0 +1,42 @@ +-module(template_name). +-behaviour(gen_server). + +%% API. +-export([start_link/0]). + +%% gen_server. +-export([init/1]). +-export([handle_call/3]). +-export([handle_cast/2]). +-export([handle_info/2]). +-export([terminate/2]). +-export([code_change/3]). + +-record(state, { +}). + +%% API. + +-spec start_link() -> {ok, pid()}. +start_link() -> + gen_server:start_link(?MODULE, [], []). + +%% gen_server. + +init([]) -> + {ok, #state{}}. + +handle_call(_Request, _From, State) -> + {reply, ignored, State}. + +handle_cast(_Msg, State) -> + {noreply, State}. + +handle_info(_Info, State) -> + {noreply, State}. + +terminate(_Reason, _State) -> + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. |