diff options
Diffstat (limited to 'acf/persistence/backends/volatile.lua')
-rw-r--r-- | acf/persistence/backends/volatile.lua | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/acf/persistence/backends/volatile.lua b/acf/persistence/backends/volatile.lua deleted file mode 100644 index a83f7e3..0000000 --- a/acf/persistence/backends/volatile.lua +++ /dev/null @@ -1,46 +0,0 @@ ---[[ -Copyright (c) 2012-2013 Kaarle Ritvanen -See LICENSE file for license details ---]] - -local util = require('acf.util') - - -local backend = require('acf.object').class() - -function backend:init(data) self.data = data or {} end - -function backend:_get(path) - local res = self.data - for _, comp in ipairs(path) do - if res == nil then return end - assert(type(res) == 'table') - res = res[comp] - end - return res -end - -function backend:get(path, top) - local res = self:_get(path) - return type(res) == 'table' and util.keys(res) or res -end - -function backend:_set(path, value) - if type(value) == 'table' then value = {} end - - if #path == 0 then self.data = value - - else - local comps = util.copy(path) - local name = comps[#comps] - table.remove(comps) - self:_get(comps)[name] = value - end -end - -function backend:set(mods) - for _, mod in ipairs(mods) do self:_set(unpack(mod)) end -end - - -return backend |