Packages
kvs
8.10.4
13.5.22-aleph
13.4.16
13.4.15
13.4.14
13.4.13
13.3.1
13.2.28
11.9.1
10.8.3
10.8.2
10.3.0
9.9.2
9.9.1
9.9.0
9.8.0
9.7.0
9.4.8
9.4.7
9.4.6
9.4.5
9.4.4
9.4.3
9.4.2
9.4.1
9.4.0
8.12.0
8.11.2
8.11.1
8.10.4
8.10.3
8.10.2
8.10.1
8.10.0
8.5.2
8.5.1
8.5.0
8.4.1
8.4.0
8.3.1
8.3.0
7.11.5
7.9.1
7.7.0
7.1.3
7.1.2
7.1.1
6.12.11
6.12.10
6.12.9
6.12.8
6.12.7
6.12.6
6.12.5
6.12.4
6.12.3
6.12.2
6.12.1
6.12.0
6.11.2
6.11.1
6.11.0
6.10.2
6.10.1
6.10.0
6.9.2
6.9.1
6.9.0
6.7.7
6.7.6
6.7.5
6.7.4
6.7.3
6.7.2
6.7.1
6.7.0
6.6.0
2.1.0
0.12.1
retired
KVS Key-Value Store Abstraction Layer
Current section
Files
Jump to
Current section
Files
lib/KVS.ex
defmodule KVS do
require Record
Enum.each(Record.extract_all(from_lib: "kvs/include/cursors.hrl"), fn {name, definition} ->
Record.defrecord(name, definition)
end)
Enum.each(Record.extract_all(from_lib: "kvs/include/metainfo.hrl"), fn {name, definition} ->
Record.defrecord(name, definition)
end)
Enum.each(Record.extract_all(from_lib: "kvs/include/kvs.hrl"), fn {name, definition} ->
Record.defrecord(name, definition)
end)
defmacro __using__(opts \\ []) do
imports =
opts
|> Macro.expand(__CALLER__)
|> Keyword.get(:with, [:kvs])
Enum.map(imports, fn mod ->
if Code.ensure_compiled(mod) do
upcased = Module.concat([String.upcase(to_string(mod))])
quote do
import unquote(upcased)
alias unquote(mod), as: unquote(upcased)
end
else
IO.warn("🚨 Unknown module #{mod} was requested to be used by :kvs. Skipping.")
end
end)
end
end