webmcp
annotate framework/env/slot/reset_all.lua @ 223:32ec28229bb5
Finished removing all references to cgi module (except demo-app); Removed partial loading mechanism
| author | jbe | 
|---|---|
| date | Fri Feb 27 21:49:00 2015 +0100 (2015-02-27) | 
| parents | 09f749330d13 | 
| children | 78a2ae40c88e | 
| rev | line source | 
|---|---|
| jbe/bsw@0 | 1 --[[-- | 
| poelzi@34 | 2 slot.reset_all{ | 
| jbe@47 | 3 except = except -- Reset all slots, except slots named in this list | 
| poelzi@34 | 4 } | 
| jbe/bsw@0 | 5 | 
| jbe@47 | 6 Calling this function resets all slots to be empty. An exclusion list may be passed to the function as named argument. | 
| jbe/bsw@0 | 7 | 
| jbe/bsw@0 | 8 --]]-- | 
| jbe/bsw@0 | 9 | 
| poelzi@34 | 10 function slot.reset_all(args) | 
| poelzi@34 | 11 local saved = {} | 
| poelzi@34 | 12 if args and args.except then | 
| jbe@47 | 13 for i, key in ipairs(args.except) do | 
| poelzi@34 | 14 saved[key] = slot._data[key] | 
| poelzi@34 | 15 end | 
| poelzi@34 | 16 end | 
| jbe/bsw@0 | 17 slot._data = setmetatable({}, slot._data_metatable) | 
| poelzi@34 | 18 if saved then | 
| jbe@47 | 19 for key, value in pairs(saved) do | 
| poelzi@34 | 20 slot._data[key] = value | 
| poelzi@34 | 21 end | 
| poelzi@34 | 22 end | 
| jbe/bsw@0 | 23 end |