summaryrefslogtreecommitdiffstats
path: root/acf/model/init.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 09:07:18 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 13:47:42 +0300
commitad885ed16e9c4c42976ece558d70c39e77338232 (patch)
treeaa5b7d5720d715b009365a50a546b501e7a2fafc /acf/model/init.lua
parent33dd854bfd391ba0a6f3ead2bc8ac32468793883 (diff)
downloadaconf-ad885ed16e9c4c42976ece558d70c39e77338232.tar.bz2
aconf-ad885ed16e9c4c42976ece558d70c39e77338232.tar.xz
model: correct deletion of references from lists
Diffstat (limited to 'acf/model/init.lua')
-rw-r--r--acf/model/init.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/acf/model/init.lua b/acf/model/init.lua
index 653464d..78f5032 100644
--- a/acf/model/init.lua
+++ b/acf/model/init.lua
@@ -85,9 +85,11 @@ function M.Reference:follow(context, value)
return context.txn:fetch(pth.rawjoin(self:abs_scope(context), value))
end
-function M.Reference:load(context)
+function M.Reference:load(context, options)
local ref = super(self, M.Reference):load(context)
- return (context.txn and ref) and self:follow(context, ref) or ref
+ return (
+ (not options or options.dereference ~= false) and context.txn and ref
+ ) and self:follow(context, ref) or ref
end
function M.Reference:_validate(context, value)