diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-03-17 23:01:52 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-03-25 09:02:57 +0200 |
commit | 6de3c67c536be18cf8074040f24181f1823b1295 (patch) | |
tree | 405e13abdcbc03d400bf62cadec084123f957b2f /aconf/model/node.lua | |
parent | 76dabed5013a459828c8aa54f9f6c553aaaf6e82 (diff) | |
download | aconf-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.lua | 10 |
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) |