Sat, 12 Sep 2009 21:27:57 +0300
(don't know)
module("handlers", package.seeall) require("handlers.render") require("handlers.copy") require("handlers.ignore") local available={ { pattern = "%.page$", handler = handlers.render}, { pattern = "", handler = handlers.copy}, } function find(f) for _, h in ipairs(available) do if string.match(h.pattern, f) then return h.handler end end return handlers.ignore end local cached={} function choose(f, env) cached[f] = find(f) end -- load function phase1(f, env) return cached[f].phase1(f, env) end -- write function phase2(f, env) return cached[f].phase2(f, env) end