diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2015-02-12 16:39:38 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2015-02-12 16:39:38 +0200 |
commit | 80099b60e1fc436569f33cb38ab6608ef163478c (patch) | |
tree | 023c4eb83205b70da7455f52875c7a6bdb3f0926 /aconf/model/net.lua | |
parent | 89a46b4a0d507181c697f8da43d74dbf7271b32f (diff) | |
download | aconf-80099b60e1fc436569f33cb38ab6608ef163478c.tar.bz2 aconf-80099b60e1fc436569f33cb38ab6608ef163478c.tar.xz |
model: allow arbitrary encoding for back-end data
Diffstat (limited to 'aconf/model/net.lua')
-rw-r--r-- | aconf/model/net.lua | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/aconf/model/net.lua b/aconf/model/net.lua index 48a419a..268e60e 100644 --- a/aconf/model/net.lua +++ b/aconf/model/net.lua @@ -54,23 +54,22 @@ function BaseIPAddress:split(context, value) return comps[1], mask end -function BaseIPAddress:_load(context) - local res = super(self, BaseIPAddress):_load(context) +function BaseIPAddress:decode(context, value) local maddr = self:abs_mask_addr(context) - if res and maddr then - return res..'/'..(self:mask2cidr(context.txn:get(maddr)) or self.length) + if value and maddr then + return value..'/'..(self:mask2cidr(context.txn:get(maddr)) or self.length) end - return res + return value end -function BaseIPAddress:_save(context, value) +function BaseIPAddress:encode(context, value) local maddr = self:abs_mask_addr(context) if maddr then local cidr if value then value, cidr = self:split(context, value) end context.txn:set(maddr, cidr and self:cidr2mask(cidr)) end - super(self, BaseIPAddress):_save(context, value) + return value end |