diff options
Diffstat (limited to 'aconf/model/node.lua')
-rw-r--r-- | aconf/model/node.lua | 20 |
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) |