handlers.lua

Sun, 13 Sep 2009 22:22:47 +0300

author
Tuomo Valkonen <tuomov@iki.fi>
date
Sun, 13 Sep 2009 22:22:47 +0300
changeset 3
b2df1b3f2c83
parent 2
3975fa5ed630
child 4
4cb0d1dbc65b
permissions
-rw-r--r--

Improvements


module("handlers", package.seeall)

require("handlers.render")
require("handlers.copy")
require("handlers.ignore")

local available={
    { pattern = "%.lg$", handler = handlers.render},
    { pattern = "",      handler = handlers.copy},
}


function find(f)
    for _, h in ipairs(available) do
        if string.match(f, h.pattern) 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

mercurial