summaryrefslogtreecommitdiffstats
path: root/aconf/model/node.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-17 23:01:52 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-25 09:02:57 +0200
commit6de3c67c536be18cf8074040f24181f1823b1295 (patch)
tree405e13abdcbc03d400bf62cadec084123f957b2f /aconf/model/node.lua
parent76dabed5013a459828c8aa54f9f6c553aaaf6e82 (diff)
downloadaconf-6de3c67c536be18cf8074040f24181f1823b1295.tar.bz2
aconf-6de3c67c536be18cf8074040f24181f1823b1295.tar.xz
model: split key_removable into two parts
Diffstat (limited to 'aconf/model/node.lua')
-rw-r--r--aconf/model/node.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/aconf/model/node.lua b/aconf/model/node.lua
index 62a860c..56b05cb 100644
--- a/aconf/model/node.lua
+++ b/aconf/model/node.lua
@@ -127,11 +127,13 @@ function M.TreeNode:init(context, params)
function mt.removable() return true end
+ function mt.value_removable(v)
+ return not isinstance(v, M.TreeNode) or getmetatable(v).removable()
+ end
+
function mt.key_removable(k)
- local v = mt.load(k, {dereference=false})
- return params.editable and (
- not isinstance(v, M.TreeNode) or getmetatable(v).removable()
- )
+ return params.editable and
+ mt.value_removable(mt.load(k, {dereference=false}))
end
function mt.check_removable(k, v)