diff options
Diffstat (limited to 'acf2/model/set.lua')
-rw-r--r-- | acf2/model/set.lua | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/acf2/model/set.lua b/acf2/model/set.lua index ac5600b..713da8b 100644 --- a/acf2/model/set.lua +++ b/acf2/model/set.lua @@ -9,6 +9,7 @@ local TreeNode = require('acf2.model.field').TreeNode local node = require('acf2.model.node') local object = require('acf2.object') local pth = require('acf2.path') +local setdefaults = require('acf2.util').setdefaults M.Set = object.class(require('acf2.model.node').List) @@ -28,10 +29,11 @@ function M.Set:init(context, params) local mt = getmetatable(self) mt._meta.type = 'set' - function mt.get(k, create) + function mt.get(k, options) + options = setdefaults(options or {}, {dereference=true}) local i = find(k) - if i then return mt.load(i, {dereference=true}) end - if create then return k end + if i then return mt.load(i, options) end + if options.create then return k end end function mt.__newindex(t, k, v) |