diff options
Diffstat (limited to 'acf/model/model.lua')
-rw-r--r-- | acf/model/model.lua | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/acf/model/model.lua b/acf/model/model.lua index 9808157..89de029 100644 --- a/acf/model/model.lua +++ b/acf/model/model.lua @@ -23,17 +23,19 @@ local pth = require('acf.path') local util = require('acf.util') -local function to_member(obj, addr) +local function to_member(obj, params) + if not params then params = {} end if object.issubclass(obj, Model) then - return fld.Model{model=obj, addr=addr} + params.model = obj + return fld.Model(params) end - local res = getmetatable(obj).class and obj or obj{addr=addr} + local res = getmetatable(obj).class and obj or obj(params) assert(isinstance(res, Member)) return res end -function to_field(obj, addr) - local res = to_member(obj, addr) +function to_field(obj, params) + local res = to_member(obj, params) assert(isinstance(res, Field)) return res end |