diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-03-17 19:43:52 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-03-25 09:02:57 +0200 |
commit | 0e7b11021457934dd99f764ee24359a86146e976 (patch) | |
tree | 09c4201c1d7fdb14e59fe6308c8230f2508a5931 /aconf/model/init.lua | |
parent | acbb01f353d7a156df33d7657f63a7c92fd9ace7 (diff) | |
download | aconf-0e7b11021457934dd99f764ee24359a86146e976.tar.bz2 aconf-0e7b11021457934dd99f764ee24359a86146e976.tar.xz |
model: fetch objects via metatable function when possible
Diffstat (limited to 'aconf/model/init.lua')
-rw-r--r-- | aconf/model/init.lua | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/aconf/model/init.lua b/aconf/model/init.lua index e3395cc..cab92e7 100644 --- a/aconf/model/init.lua +++ b/aconf/model/init.lua @@ -97,8 +97,9 @@ end function M.Reference:_choice(context) local res = {} - local txn = context.txn - local obj = relabel('system', txn.fetch, txn, self:abs_scope(context)) + local obj = relabel( + 'system', node.fetch, context.parent, self:abs_scope(context) + ) assert(isinstance(obj, node.Collection)) for k, v in node.pairs(obj) do @@ -136,7 +137,9 @@ function M.Reference:meta(context) end function M.Reference:follow(context, value) - return context.txn:fetch(M.path.rawjoin(self:abs_scope(context), value)) + return node.fetch( + context.parent, M.path.rawjoin(self:abs_scope(context), value) + ) end function M.Reference:load(context, options) |