Current section

Files

Jump to
red lib red edge.ex
Raw

lib/red/edge.ex

defmodule Red.Edge do
defstruct rel: nil, target: nil
def ops(%Red.Edge{} = edge, :add) do
[s, e] = [edge.rel.node, edge.target]
|> Enum.map(&Red.Node.key &1)
if edge.rel.direction == :out, do: [s, e] = [e, s]
[
["ZADD", "#{s}:#{edge.rel.name}:in", 0, e],
["ZADD", "#{e}:#{edge.rel.name}:out", 0, s]
]
end
end