Fri, 12 Jun 2009 13:46:31 +0500
Merge
local actions = {}; function register(path, t) local curr = actions; for comp in path:gmatch("([^/]+)/") do if curr[comp] == nil then curr[comp] = {}; end curr = curr[comp]; if type(curr) ~= "table" then return nil, "path-taken"; end end curr[path:match("/([^/]+)$")] = t; return true; end return { actions = actions, register= register };