webmcp
view framework/env/slot/use_temporary.lua @ 79:3a6962b9121c
Anchor support for encode.url{...}, ui.link{...} and ui.paginate{...}
| author | jbe | 
|---|---|
| date | Wed Jun 27 18:57:53 2012 +0200 (2012-06-27) | 
| parents | 9fdfb27f8e67 | 
| children | 
 line source
     1 --[[--
     2 slot_content =
     3 slot.use_temporary(
     4   function()
     5     ...
     6   end
     7 )
     9 This function creates a temporary slot and executes code in a way that slot.put(...) and other functions will write into the temporary slot. Afterwards the contents of the temporary slot are returned as a single string.
    11 --]]--
    13 function slot.use_temporary(block)
    14   local old_slot = slot._active_slot
    15   local temp_slot_reference = {}  -- just a unique reference
    16   slot._active_slot = temp_slot_reference
    17   block()
    18   slot._active_slot = old_slot
    19   local result = slot.get_content(temp_slot_reference)
    20   slot.reset(temp_slot_reference)
    21   return result
    22 end
