summaryrefslogtreecommitdiffstats
path: root/aconf/model/node.lua
diff options
context:
space:
mode:
Diffstat (limited to 'aconf/model/node.lua')
-rw-r--r--aconf/model/node.lua20
1 files changed, 7 insertions, 13 deletions
diff --git a/aconf/model/node.lua b/aconf/model/node.lua
index 56b05cb..327f582 100644
--- a/aconf/model/node.lua
+++ b/aconf/model/node.lua
@@ -77,7 +77,13 @@ function M.TreeNode:init(context, params)
mt.init_meta(mt._meta)
end
end
- return mt._meta
+
+ local res = copy(mt._meta)
+ res.removable = {}
+ for _, key in ipairs(mt.members()) do
+ if mt.key_removable(key) then table.insert(res.removable, key) end
+ end
+ return res
end
function mt.get(k, options) return mt.load(k, options) end
@@ -232,18 +238,6 @@ function M.Collection:init(context, params)
)
end
- local meta = mt.meta
- function mt.meta()
- local res = copy(meta())
- res.removable = {}
- for _, key in ipairs(mt.members()) do
- if mt.key_removable(key) then
- table.insert(res.removable, key)
- end
- end
- return res
- end
-
function mt.mmeta(name)
local meta = mt.meta()
local res = copy(meta.members)