summaryrefslogtreecommitdiffstats
path: root/acf/model/field.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-05-01 09:25:44 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-05-01 14:10:59 +0300
commit0cd6597bec4f1b5c727cedcefe40085c6aa43c3b (patch)
tree37560799b03180436aafa8a72d86b94c7345d027 /acf/model/field.lua
parent13eb04abbc9d8561e44786ce9b0dd94bc1454e1f (diff)
downloadaconf-0cd6597bec4f1b5c727cedcefe40085c6aa43c3b.tar.bz2
aconf-0cd6597bec4f1b5c727cedcefe40085c6aa43c3b.tar.xz
make persistence manager aware of data types
coerce values into proper types
Diffstat (limited to 'acf/model/field.lua')
-rw-r--r--acf/model/field.lua5
1 files changed, 2 insertions, 3 deletions
diff --git a/acf/model/field.lua b/acf/model/field.lua
index 26d4621..7af0698 100644
--- a/acf/model/field.lua
+++ b/acf/model/field.lua
@@ -75,7 +75,7 @@ function Field:meta(context)
end
function Field:load(context)
- local value = context.txn:get(context.addr)
+ local value = context.txn:get(context.addr, self.dtype)
if value == nil then return self.default end
return value
end
@@ -94,7 +94,6 @@ end
function Field:validate(context, value) end
function Field:save(context, value)
- -- 2nd argument currenly not much used by backends
context.txn:set(context.addr, self.dtype, self:_validate(context, value))
end
@@ -150,6 +149,6 @@ function Model:init(params)
end
function Model:load(context, create)
- if not create and not context.txn:get(context.addr) then return end
+ if not (create or context.txn:get(context.addr, 'table')) then return end
return self.model(context)
end