Current section
Files
Jump to
Current section
Files
lib/persist.ex
defmodule Thoth.Persistence do
def delete graph do
:digraph.delete(graph)
end
def save graph, path do
{_, t1, t2, t3, _} = graph
:ok = :ets.tab2file(t1, path ++ '.t1.data')
:ok = :ets.tab2file(t2, path ++ '.t2.data')
:ok = :ets.tab2file(t3, path ++ '.t3.data')
end
def load, do: :digraph.new
def load(path) do
case :ets.file2tab(path ++ '.t1.data') do
{:ok, t1} ->
:ets.file2tab(path ++ '.t1.data')
{:ok, t2} = :ets.file2tab(path ++ '.t2.data')
{:ok, t3} = :ets.file2tab(path ++ '.t3.data')
{:digraph, t1, t2, t3, true}
_ -> :digraph.new
end
end
end