Skip to content

Commit caa5cc0

Browse files
committed
improvement: fix issue w/ type system validation on old versions of elixir
1 parent 50fb25e commit caa5cc0

1 file changed

Lines changed: 33 additions & 22 deletions

File tree

lib/igniter/phoenix/single.ex

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,41 @@ if Code.ensure_loaded?(Phx.New.Project) do
55
# https://github.com/phoenixframework/phoenix/blob/7586cbee9e37afbe0b3cdbd560b9e6aa60d32bf6/installer/lib/phx_new/single.ex
66

77
alias Igniter.Phoenix.Generator
8-
alias Phx.New.Project
98

109
@mod Phx.New.Single
1110

1211
def generate(igniter, project) do
13-
Enum.reduce(
14-
[
15-
{true, &gen_new/2},
16-
{Project.ecto?(project), &gen_ecto/2},
17-
{Project.html?(project), &gen_html/2},
18-
{Project.mailer?(project), &gen_mailer/2},
19-
{Project.gettext?(project), &gen_gettext/2},
20-
{true, &gen_assets/2}
21-
],
22-
igniter,
23-
fn
24-
{key, fun}, igniter ->
25-
if key do
26-
fun.(igniter, project)
27-
else
28-
igniter
29-
end
12+
igniter = gen_new(igniter, project)
13+
14+
igniter =
15+
if Keyword.get(project.binding, :ecto, false) do
16+
gen_ecto(igniter, project)
17+
else
18+
igniter
19+
end
20+
21+
igniter =
22+
if Keyword.get(project.binding, :html, false) do
23+
gen_html(igniter, project)
24+
else
25+
igniter
26+
end
27+
28+
igniter =
29+
if Keyword.get(project.binding, :mailer, false) do
30+
gen_mailer(igniter, project)
31+
else
32+
igniter
33+
end
34+
35+
igniter =
36+
if Keyword.get(project.binding, :gettext, false) do
37+
gen_gettext(igniter, project)
38+
else
39+
igniter
3040
end
31-
)
41+
42+
gen_assets(igniter, project)
3243
end
3344

3445
def gen_new(igniter, project) do
@@ -54,9 +65,9 @@ if Code.ensure_loaded?(Phx.New.Project) do
5465
end
5566

5667
def gen_assets(igniter, project) do
57-
javascript? = Project.javascript?(project)
58-
css? = Project.css?(project)
59-
html? = Project.html?(project)
68+
javascript? = Keyword.get(project.binding, :javascript, false)
69+
css? = Keyword.get(project.binding, :css, false)
70+
html? = Keyword.get(project.binding, :html, false)
6071

6172
igniter = Generator.copy_from(igniter, project, @mod, :static)
6273

0 commit comments

Comments
 (0)