From baca93fa10b7c9f7f59b87a737e150038fa90b07 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Thu, 31 Oct 2013 23:57:32 +0200 Subject: model: custom backend address derivation --- acf2/model/node.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'acf2/model/node.lua') diff --git a/acf2/model/node.lua b/acf2/model/node.lua index 85fc416..ff187b8 100644 --- a/acf2/model/node.lua +++ b/acf2/model/node.lua @@ -25,6 +25,9 @@ function M.BoundMember:init(parent, name, field) function mt.__index(t, k) local member = field[k] if type(member) ~= 'function' then return member end + + local addr = field.addr or pth.escape(name) + if type(addr) == 'function' then addr = addr(pmt.addr) end return function(self, ...) return member( field, @@ -32,9 +35,7 @@ function M.BoundMember:init(parent, name, field) txn=pmt.txn, parent=parent, path=pth.join(pmt.path, name), - addr=pth.to_absolute( - field.addr or pth.escape(name), pmt.addr - ) + addr=pth.to_absolute(addr, pmt.addr) }, ... ) -- cgit v1.2.3