summaryrefslogtreecommitdiffstats
path: root/aconf/model/field.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-17 19:43:52 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-25 09:02:57 +0200
commit0e7b11021457934dd99f764ee24359a86146e976 (patch)
tree09c4201c1d7fdb14e59fe6308c8230f2508a5931 /aconf/model/field.lua
parentacbb01f353d7a156df33d7657f63a7c92fd9ace7 (diff)
downloadaconf-0e7b11021457934dd99f764ee24359a86146e976.tar.bz2
aconf-0e7b11021457934dd99f764ee24359a86146e976.tar.xz
model: fetch objects via metatable function when possible
Diffstat (limited to 'aconf/model/field.lua')
-rw-r--r--aconf/model/field.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/aconf/model/field.lua b/aconf/model/field.lua
index 8b300a5..26711f2 100644
--- a/aconf/model/field.lua
+++ b/aconf/model/field.lua
@@ -335,7 +335,9 @@ function M.TreeNode:save(context, value)
local path = context.path
if value == path then return end
- if type(value) == 'string' then value = context.txn:fetch(value) end
+ if type(value) == 'string' then
+ value = node.fetch(context.parent, value)
+ end
if object.isinstance(value, node.TreeNode) and node.path(value) == path then
return
end