Current section

54 Versions

Jump to

Compare versions

39 files changed
+1674 additions
-1659 deletions
  @@ -12,23 +12,17 @@
12 12
13 13 Start by adding the `rebar3` template for Nova. This can be done by running the installation script;
14 14
15 - *Via curl*
16 15 ```bash
17 - sh -c "$(curl -fsSL https://raw.githubusercontent.com/novaframework/nova/master/tools/install.sh)"
16 + sh -c "$(curl -fsSL https://raw.githubusercontent.com/novaframework/rebar3_nova/master/install.sh)"
18 17 ```
19 18
20 - *Via wget*
21 - ```bash
22 - sh -c "$(wget -O- https://raw.githubusercontent.com/novaframework/nova/master/tools/install.sh)"
23 - ```
19 + #### Manually with rebar.config
24 20
25 - *via plugin*
26 21 Add rebar3_nova to ~/.config/rebar3/rebar.config
27 22 ```erlang
28 23 {project_plugins, [rebar3_nova]}
29 24 ```
30 25
31 -
32 26 After this is done use `rebar3` to generate a new project with Nova.
33 27
34 28 ```bash
  @@ -3,18 +3,21 @@
3 3 {<<"description">>,<<"Nova is a web application framework">>}.
4 4 {<<"files">>,
5 5 [<<"LICENSE">>,<<"README.md">>,<<"include/nova.hrl">>,
6 + <<"include/nova_router.hrl">>,<<"priv/nova.routes.erl">>,
6 7 <<"priv/static/nova.png">>,<<"rebar.config">>,<<"rebar.lock">>,
7 - <<"src/nova.app.src">>,<<"src/nova.erl">>,<<"src/nova.hrl">>,
8 - <<"src/nova_app.erl">>,<<"src/nova_basic_handler.erl">>,
9 - <<"src/nova_correlation_plugin.erl">>,<<"src/nova_cors_plugin.erl">>,
10 - <<"src/nova_erlydtl_inventory.erl">>,<<"src/nova_handlers.erl">>,
11 - <<"src/nova_http.erl">>,<<"src/nova_http_handler.erl">>,
8 + <<"src/controllers/nova_error_controller.erl">>,<<"src/nova.app.src">>,
9 + <<"src/nova.erl">>,<<"src/nova.hrl">>,<<"src/nova_app.erl">>,
10 + <<"src/nova_basic_handler.erl">>,<<"src/nova_cache.erl">>,
11 + <<"src/nova_cache_sup.erl">>,<<"src/nova_correlation_plugin.erl">>,
12 + <<"src/nova_cors_plugin.erl">>,<<"src/nova_erlydtl_inventory.erl">>,
13 + <<"src/nova_handler.erl">>,<<"src/nova_handlers.erl">>,
12 14 <<"src/nova_internal_error.dtl">>,<<"src/nova_plugin.erl">>,
13 - <<"src/nova_request_plugin.erl">>,<<"src/nova_router.erl">>,
14 - <<"src/nova_security_plugin.erl">>,<<"src/nova_session.erl">>,
15 - <<"src/nova_session_ets.erl">>,<<"src/nova_stream_h.erl">>,
16 - <<"src/nova_sup.erl">>,<<"src/nova_websocket.erl">>,
17 - <<"src/nova_ws_handler.erl">>]}.
15 + <<"src/nova_plugin_handler.erl">>,<<"src/nova_request_plugin.erl">>,
16 + <<"src/nova_router.erl">>,<<"src/nova_security_handler.erl">>,
17 + <<"src/nova_session.erl">>,<<"src/nova_session_ets.erl">>,
18 + <<"src/nova_stream_h.erl">>,<<"src/nova_sup.erl">>,
19 + <<"src/nova_watcher.erl">>,<<"src/nova_websocket.erl">>,
20 + <<"src/nova_ws_handler.erl">>,<<"src/views/nova_error.dtl">>]}.
18 21 {<<"licenses">>,[<<"Apache 2.0">>]}.
19 22 {<<"links">>,[{<<"GitHub">>,<<"https://github.com/novaframework/nova">>}]}.
20 23 {<<"name">>,<<"nova">>}.
  @@ -22,17 +25,29 @@
22 25 [{<<"cowboy">>,
23 26 [{<<"app">>,<<"cowboy">>},
24 27 {<<"optional">>,false},
25 - {<<"requirement">>,<<"2.8.0">>}]},
28 + {<<"requirement">>,<<"2.9.0">>}]},
29 + {<<"erldb">>,
30 + [{<<"app">>,<<"erldb">>},
31 + {<<"optional">>,false},
32 + {<<"requirement">>,<<"1.0.0">>}]},
26 33 {<<"erlydtl">>,
27 34 [{<<"app">>,<<"erlydtl">>},
28 35 {<<"optional">>,false},
29 - {<<"requirement">>,<<"0.13.1">>}]},
36 + {<<"requirement">>,<<"0.14.0">>}]},
30 37 {<<"jhn_stdlib">>,
31 38 [{<<"app">>,<<"jhn_stdlib">>},
32 39 {<<"optional">>,false},
33 - {<<"requirement">>,<<"3.4.3">>}]},
40 + {<<"requirement">>,<<"3.6.2">>}]},
41 + {<<"pmod_transform">>,
42 + [{<<"app">>,<<"pmod_transform">>},
43 + {<<"optional">>,false},
44 + {<<"requirement">>,<<"1.1.0">>}]},
45 + {<<"routing_tree">>,
46 + [{<<"app">>,<<"routing_tree">>},
47 + {<<"optional">>,false},
48 + {<<"requirement">>,<<"1.0.0">>}]},
34 49 {<<"uuid_erl">>,
35 50 [{<<"app">>,<<"uuid">>},
36 51 {<<"optional">>,false},
37 52 {<<"requirement">>,<<"~>2.0.0">>}]}]}.
38 - {<<"version">>,<<"0.7.2">>}.
53 + {<<"version">>,<<"0.8.0">>}.
  @@ -1,3 +1,5 @@
1 + -ifndef(_NOVA_HRL_).
2 + -define(_NOVA_HRL, 1).
1 3 -include_lib("kernel/include/logger.hrl").
2 4
3 5 -define(TERM_RED, "\033[31m").
  @@ -7,16 +9,21 @@
7 9 -define(TERM_BOLD, "\033[1m").
8 10 -define(TERM_RESET, "\033[m").
9 11
12 + -define(MOD_INFO, ?TERM_BOLD ++ "[" ++ erlang:atom_to_list(?MODULE) ++ "] " ++ ?TERM_RESET).
10 13
11 - -define(DEBUG(M), ?LOG(debug, ?TERM_BLUE ++ M ++ ?TERM_RESET)).
12 - -define(DEBUG(M, Meta), ?LOG(debug, ?TERM_BLUE ++ M ++ ?TERM_RESET, Meta)).
13 - -define(INFO(M), ?LOG(info, ?TERM_GREEN ++ M ++ ?TERM_RESET)).
14 - -define(INFO(M,Meta), ?LOG(info, ?TERM_GREEN ++ M ++ ?TERM_RESET, Meta)).
15 - -define(WARNING(M), ?LOG(warning, ?TERM_YELLOW ++ M ++ ?TERM_RESET)).
16 - -define(WARNING(M,Meta), ?LOG(warning, ?TERM_YELLOW ++ M ++ ?TERM_RESET, Meta)).
17 - -define(ERROR(M), ?LOG(error, ?TERM_RED ++ M ++ ?TERM_RESET)).
18 - -define(ERROR(M,Meta), ?LOG(error, ?TERM_RED ++ M ++ ?TERM_RESET, Meta)).
14 + -define(DEBUG(M), ?LOG(debug, ?MOD_INFO ++ ?TERM_BLUE ++ M ++ ?TERM_RESET)).
15 + -define(DEBUG(M, Meta), ?LOG(debug, ?MOD_INFO ++ ?TERM_BLUE ++ M ++ ?TERM_RESET, Meta)).
16 + -define(INFO(M), ?LOG(info, ?MOD_INFO ++ ?TERM_GREEN ++ M ++ ?TERM_RESET)).
17 + -define(INFO(M,Meta), ?LOG(info, ?MOD_INFO ++ ?TERM_GREEN ++ M ++ ?TERM_RESET, Meta)).
18 + -define(NOTICE(M), ?LOG(notice, ?MOD_INFO ++ ?TERM_GREEN ++ M ++ ?TERM_RESET)).
19 + -define(NOTICE(M,Meta), ?LOG(notice, ?MOD_INFO ++ ?TERM_GREEN ++ M ++ ?TERM_RESET, Meta)).
20 + -define(WARNING(M), ?LOG(warning, ?MOD_INFO ++ ?TERM_YELLOW ++ M ++ ?TERM_RESET)).
21 + -define(WARNING(M,Meta), ?LOG(warning, ?MOD_INFO ++ ?TERM_YELLOW ++ M ++ ?TERM_RESET, Meta)).
22 + -define(ERROR(M), ?LOG(error, ?MOD_INFO ++ ?TERM_RED ++ M ++ ?TERM_RESET)).
23 + -define(ERROR(M,Meta), ?LOG(error, ?MOD_INFO ++ ?TERM_RED ++ M ++ ?TERM_RESET, Meta)).
19 24
20 25 %% Meta levels
21 26 -define(DEPRECATION(M), ?LOG(warning, ?TERM_YELLOW ++ ?TERM_BOLD ++ "DEPRECATION WARNING! " ++ ?TERM_RESET ++ ?TERM_YELLOW ++ M ++ ?TERM_RESET)).
22 27 -define(DEPRECATED(M), ?LOG(error, ?TERM_RED ++ ?TERM_BOLD ++ "DEPRECATION ERROR!!! " ++ ?TERM_RESET ++ ?TERM_RED ++ M ++ ?TERM_RESET)).
28 +
29 + -endif.
  @@ -0,0 +1,17 @@
1 + %% Nova Routing value
2 + -record(nova_handler_value, {
3 + app :: atom(),
4 + module :: atom(),
5 + function :: atom(),
6 + plugins = [] :: list(),
7 + secure = false :: false | {Mod :: atom(), Fun :: atom()},
8 + extra_state :: any()
9 + }).
10 +
11 + -record(cowboy_handler_value, {
12 + app :: atom(),
13 + handler :: atom(),
14 + arguments :: [any()],
15 + plugins = [] :: list(),
16 + secure = false :: false | {Mod :: atom(), Fun :: atom()}
17 + }).
Loading more files…