summaryrefslogtreecommitdiffstats
path: root/acf/model/field.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 08:23:19 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 13:47:42 +0300
commit33dd854bfd391ba0a6f3ead2bc8ac32468793883 (patch)
treeb06502fc77b7060b3b25587ba1f6623b3b1cb2cd /acf/model/field.lua
parent98ecf5591f98399d766fec6fa7ef5e883cf3da70 (diff)
downloadaconf-33dd854bfd391ba0a6f3ead2bc8ac32468793883.tar.bz2
aconf-33dd854bfd391ba0a6f3ead2bc8ac32468793883.tar.xz
model: options argument for Field.load
Diffstat (limited to 'acf/model/field.lua')
-rw-r--r--acf/model/field.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/acf/model/field.lua b/acf/model/field.lua
index 707cde3..7dc20a1 100644
--- a/acf/model/field.lua
+++ b/acf/model/field.lua
@@ -181,13 +181,15 @@ end
function M.TreeNode:topology(context)
local res = super(self, M.TreeNode):topology(context)
res[1].type = 'table'
- util.extend(res, node.topology(self:load(context, true)))
+ util.extend(res, node.topology(self:load(context, {create=true})))
return res
end
-function M.TreeNode:load(context, create)
+function M.TreeNode:load(context, options)
if context.txn and not (
- create or self.create or context.txn:get(context.addr)
+ (
+ options and options.create
+ ) or self.create or context.txn:get(context.addr)
) then return end
return self.itype(context, self.iparams)
end
@@ -209,7 +211,7 @@ function M.TreeNode:save(context, value)
end
context.txn:set(context.addr, {})
- local new = self:load(context, true)
+ local new = self:load(context, {create=true})
local errors = err.ErrorDict()
for k, v in node.pairs(value) do