cover/Elixir.Elita.Application.html

1 defmodule Elita.Application do
2 use Application
3
4 import Agent.Manager, only: [launch: 0]
5 import Elita, only: [prime: 0]
6 import Elita.Ready, only: [up: 0]
7 import Mem, only: [setup: 0]
8 import Supervisor, only: [start_link: 2]
9 import Sweep, only: [sweep: 0]
10
11 def start(_type, _args) do
12 1 setup()
13 1 sweep()
14 1 boot()
15 end
16
17 1 defp boot do
18 1 {:ok, supervisor} = run()
19 1 launch()
20 1 finish()
21 {:ok, supervisor}
22 end
23
24 defp finish do
25 1 {:ok, _} = prime()
26 1 up()
27 end
28
29 defp run do
30 1 start_link(specs(), opts())
31 end
32
33 1 defp specs,
34 do: [
35 {Elita.Kernel, nil},
36 {Elita.Infra, nil},
37 {Task.Supervisor, name: Elita.Tasks}
38 ]
39
40 1 defp opts,
41 do: [
42 strategy: :one_for_one,
43 name: Elita.Supervisor,
44 max_restarts: 3,
45 max_seconds: 60
46 ]
47 end
Line Hits Source