From 6c359a08cde153f53cb735a134d8bedf1a99919b Mon Sep 17 00:00:00 2001 From: OJ Reeves Date: Wed, 3 Feb 2010 21:56:30 +1000 Subject: [PATCH] Added 3 new templates: - simplefsm - Basic shell of a gen_fsm module - simplesrv - Basic shell of a gen_server module - simplemod - Basic shell of a module along with an associated test module. --- priv/templates/simplefsm.erl | 55 ++++++++++++++++++++++++++++++ priv/templates/simplefsm.template | 2 ++ priv/templates/simplemod.erl | 10 ++++++ priv/templates/simplemod.template | 3 ++ priv/templates/simplemod_tests.erl | 3 ++ priv/templates/simplesrv.erl | 49 ++++++++++++++++++++++++++ priv/templates/simplesrv.template | 2 ++ 7 files changed, 124 insertions(+) create mode 100644 priv/templates/simplefsm.erl create mode 100644 priv/templates/simplefsm.template create mode 100644 priv/templates/simplemod.erl create mode 100644 priv/templates/simplemod.template create mode 100644 priv/templates/simplemod_tests.erl create mode 100644 priv/templates/simplesrv.erl create mode 100644 priv/templates/simplesrv.template diff --git a/priv/templates/simplefsm.erl b/priv/templates/simplefsm.erl new file mode 100644 index 0000000..039532c --- /dev/null +++ b/priv/templates/simplefsm.erl @@ -0,0 +1,55 @@ +-module({{fsmid}}). +-behaviour(gen_fsm). +-define(SERVER, ?MODULE). + +%% ------------------------------------------------------------------ +%% API Function Exports +%% ------------------------------------------------------------------ + +-export([start_link/0]). + +%% ------------------------------------------------------------------ +%% gen_fsm Function Exports +%% ------------------------------------------------------------------ + +-export([init/1, state_name/2, state_name/3, handle_event/3, handle_sync_event/4, handle_info/3, terminate/3, code_change/4]). + +%% ------------------------------------------------------------------ +%% API Function Definitions +%% ------------------------------------------------------------------ + +start_link() -> + gen_fsm:start_link({local, ?SERVER}, ?MODULE, [], []). + +%% ------------------------------------------------------------------ +%% gen_fsm Function Definitions +%% ------------------------------------------------------------------ + +init(_Args) -> + {ok, initial_state_name, initial_state}. + +state_name(_Event, State) -> + {next_state, state_name, State}. + +state_name(_Event, _From, State) -> + {reply, ok, state_name, State}. + +handle_event(_Event, StateName, State) -> + {next_state, StateName, State}. + +handle_sync_event(_Event, _From, StateName, State) -> + {reply, ok, StateName, State}. + +handle_info(_Info, StateName, State) -> + {next_state, StateName, State}. + +terminate(_Reason, _StateName, _State) -> + ok. + +code_change(_OldVsn, StateName, State, _Extra) -> + {ok, StateName, State}. + +%% ------------------------------------------------------------------ +%% Internal Function Definitions +%% ------------------------------------------------------------------ + diff --git a/priv/templates/simplefsm.template b/priv/templates/simplefsm.template new file mode 100644 index 0000000..edb6f56 --- /dev/null +++ b/priv/templates/simplefsm.template @@ -0,0 +1,2 @@ +{variables, [{fsmid, "myfsm"}]}. +{file, "simplefsm.erl", "src/{{fsmid}}.erl"}. diff --git a/priv/templates/simplemod.erl b/priv/templates/simplemod.erl new file mode 100644 index 0000000..2baff59 --- /dev/null +++ b/priv/templates/simplemod.erl @@ -0,0 +1,10 @@ +-module({{modid}}). + +-export([my_func/0]). + +-ifdef(TEST). +-compile(export_all). +-endif. + +my_func() -> + ok. diff --git a/priv/templates/simplemod.template b/priv/templates/simplemod.template new file mode 100644 index 0000000..1de8cd0 --- /dev/null +++ b/priv/templates/simplemod.template @@ -0,0 +1,3 @@ +{variables, [{modid, "mymod"}]}. +{file, "simplemod.erl", "src/{{modid}}.erl"}. +{file, "simplemod_tests.erl", "test/{{modid}}_tests.erl"}. diff --git a/priv/templates/simplemod_tests.erl b/priv/templates/simplemod_tests.erl new file mode 100644 index 0000000..c5ca0bb --- /dev/null +++ b/priv/templates/simplemod_tests.erl @@ -0,0 +1,3 @@ +-module({{modid}}_tests). +-include_lib("eunit/include/eunit.hrl"). + diff --git a/priv/templates/simplesrv.erl b/priv/templates/simplesrv.erl new file mode 100644 index 0000000..8db932e --- /dev/null +++ b/priv/templates/simplesrv.erl @@ -0,0 +1,49 @@ +-module({{srvid}}). +-behaviour(gen_server). +-define(SERVER, ?MODULE). + +%% ------------------------------------------------------------------ +%% API Function Exports +%% ------------------------------------------------------------------ + +-export([start_link/0]). + +%% ------------------------------------------------------------------ +%% gen_server Function Exports +%% ------------------------------------------------------------------ + +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). + +%% ------------------------------------------------------------------ +%% API Function Definitions +%% ------------------------------------------------------------------ + +start_link() -> + gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). + +%% ------------------------------------------------------------------ +%% gen_server Function Definitions +%% ------------------------------------------------------------------ + +init(Args) -> + {ok, Args}. + +handle_call(_Request, _From, State) -> + {noreply, ok, State}. + +handle_cast(_Msg, State) -> + {noreply, State}. + +handle_info(_Info, State) -> + {noreply, State}. + +terminate(_Reason, _State) -> + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +%% ------------------------------------------------------------------ +%% Internal Function Definitions +%% ------------------------------------------------------------------ + diff --git a/priv/templates/simplesrv.template b/priv/templates/simplesrv.template new file mode 100644 index 0000000..e72dd25 --- /dev/null +++ b/priv/templates/simplesrv.template @@ -0,0 +1,2 @@ +{variables, [{srvid, "myserver"}]}. +{file, "simplesrv.erl", "src/{{srvid}}.erl"}.