diff options
Diffstat (limited to 'acf/model/root.lua')
-rw-r--r-- | acf/model/root.lua | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/acf/model/root.lua b/acf/model/root.lua index a793c75..17c5cfb 100644 --- a/acf/model/root.lua +++ b/acf/model/root.lua @@ -3,7 +3,7 @@ Copyright (c) 2012-2013 Kaarle Ritvanen See LICENSE file for license details --]] -module(..., package.seeall) +local M = {} local model = require('acf.model.model') local node = require('acf.model.node') @@ -14,17 +14,17 @@ local util = require('acf.util') local setdefault = util.setdefault -RootModel = model.new() +M.RootModel = model.new() -function RootModel:init(txn) - object.super(self, RootModel):init{txn=txn, path='/', addr='/null/root'} +function M.RootModel:init(txn) + object.super(self, M.RootModel):init{txn=txn, path='/', addr='/null/root'} end -function RootModel:has_permission(user, permission) +function M.RootModel:has_permission(user, permission) return permission == 'read' end -function RootModel:meta(path) +function M.RootModel:meta(path) local obj = self:fetch(path, true) if object.isinstance(obj, node.TreeNode) then return node.meta(obj) end return node.mmeta(self:fetch(pth.parent(path), true), pth.name(path)) @@ -34,7 +34,7 @@ end local _topology = {} local order = 0 -function topology(addr, create) +function M.topology(addr, create) local top = _topology if type(addr) == 'table' then addr = util.copy(addr) else addr = pth.split(addr) end @@ -56,15 +56,15 @@ function topology(addr, create) return defaults(top) end -function register(name, field, params) +function M.register(name, field, params) if not params then params = {} end params.create = true - RootModel[name] = model.to_field(field, params) + M.RootModel[name] = model.to_field(field, params) - local root = RootModel() + local root = M.RootModel() for _, record in ipairs(node.topology(root:fetch(name))) do - local top = topology(record.addr, true) + local top = M.topology(record.addr, true) setdefault(top, 'order', order) order = order + 1 @@ -82,7 +82,10 @@ function register(name, field, params) root:fetch(pth.to_absolute(record.scope, pth.parent(record.path))) ) set('scope', scope) - table.insert(topology(scope, true).referrers, record.path) + table.insert(M.topology(scope, true).referrers, record.path) end end end + + +return M |