aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2018-02-01 15:09:04 +0000
committerMatthew Wild <mwild1@gmail.com>2018-02-01 15:09:04 +0000
commit2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0 (patch)
tree82c30289103e1d2379273074248905868ab64a90
parent4e41dbdacb45ce1a8862e644e587095ce4f5c409 (diff)
downloadprosody-2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0.tar.gz
prosody-2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0.zip
util.pubsub: For clarity, split config tables from their metatables
-rw-r--r--util/pubsub.lua15
1 files changed, 9 insertions, 6 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua
index 607ec49d..f606bdd8 100644
--- a/util/pubsub.lua
+++ b/util/pubsub.lua
@@ -4,22 +4,25 @@ local cache = require "util.cache";
local service = {};
local service_mt = { __index = service };
-local default_config = { __index = {
+local default_config = {
itemstore = function (config, _) return cache.new(config["max_items"]) end;
broadcaster = function () end;
get_affiliation = function () end;
capabilities = {};
-} };
-local default_node_config = { __index = {
+};
+local default_config_mt = { __index = default_config };
+
+local default_node_config = {
["persist_items"] = false;
["max_items"] = 20;
-} };
+};
+local default_node_config_mt = { __index = default_node_config };
local function new(config)
config = config or {};
return setmetatable({
- config = setmetatable(config, default_config);
- node_defaults = setmetatable(config.node_defaults or {}, default_node_config);
+ config = setmetatable(config, default_config_mt);
+ node_defaults = setmetatable(config.node_defaults or {}, default_node_config_mt);
affiliations = {};
subscriptions = {};
nodes = {};