cover/Elixir.Mem.html

1 defmodule Mem do
2 def setup do
3 1 ensure(depth())
4 end
5
6 def create(name) do
7 58 name |> table() |> init()
8 end
9
10 defp init(table) do
11 58 table |> :ets.whereis() |> fresh(table)
12 end
13
14 defp fresh(:undefined, table) do
15 58 :ets.new(table, [:set, :public, :named_table])
16 end
17
18 defp fresh(_exists, table) do
19
:-(
:ets.delete_all_objects(table)
20 end
21
22 defp ensure(table) do
23 1 table |> :ets.whereis() |> found(table)
24 end
25
26 defp found(:undefined, table) do
27 1 :ets.new(table, [:set, :public, :named_table])
28 end
29
30
:-(
defp found(_exists, _table) do
31 :ok
32 end
33
34 def table(name) do
35 98 :"mem_#{name}"
36 end
37
38 1 def depth do
39 :mem_depth_global
40 end
41 end
Line Hits Source