summaryrefslogtreecommitdiffstats
path: root/acf/model/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'acf/model/init.lua')
-rw-r--r--acf/model/init.lua19
1 files changed, 8 insertions, 11 deletions
diff --git a/acf/model/init.lua b/acf/model/init.lua
index 2800ab6..71d0744 100644
--- a/acf/model/init.lua
+++ b/acf/model/init.lua
@@ -205,8 +205,9 @@ function Set.save_member(node, k, v) set.add(node, v) end
-- experimental
Mixed = class(Collection)
-function Mixed:init()
- super(self, Mixed):init({type=Mixed}, node.Mixed)
+function Mixed:init(params)
+ params.type = Mixed
+ super(self, Mixed):init(params, node.Mixed)
end
function Mixed:load(context)
@@ -224,14 +225,10 @@ end
RootModel = new()
-function RootModel:init(txn) super(self, RootModel):init{txn=txn, path='/'} end
+function RootModel:init(txn)
+ super(self, RootModel):init{txn=txn, path='/', addr='/volatile'}
+end
-function register(name, path, field)
- local field = to_field(field)
- function field:compute(context)
- context.path = '/'..name
- context.addr = path
- return self:load(context)
- end
- RootModel[name] = field
+function register(name, addr, field)
+ RootModel[name] = to_field(field, addr)
end