Module:Module introspection: Difference between revisions
Undo revision 214627 by Ganaram inukshuk (talk) Tag: Undo |
No edit summary |
||
| Line 132: | Line 132: | ||
-- Table header | -- Table header | ||
table.insert(lines, '{| class="wikitable sortable | table.insert(lines, '{| class="wikitable sortable"') | ||
table.insert(lines, "! Variable") | table.insert(lines, "! Variable") | ||
table.insert(lines, "! Module") | table.insert(lines, "! Module") | ||
| Line 194: | Line 194: | ||
-- Collapse table if it's larger than 20 lines | -- Collapse table if it's larger than 20 lines | ||
local func_class = "wikitable sortable mw-collapsible" | local func_class = "wikitable sortable mw-collapsible" | ||
if #module_functions > 20 then | --if #module_functions > 20 then | ||
-- func_class = func_class .. " mw-collapsed" | |||
end | --end | ||
local | local lines = {} | ||
--table.insert( | --table.insert(lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_functions)) | ||
table.insert( | table.insert(lines, "{| class=\"" .. func_class .. "\"") | ||
table.insert( | table.insert(lines, "|+ Functions provided by this module") | ||
table.insert( | table.insert(lines, "! Function") | ||
table.insert( | table.insert(lines, "! Line") | ||
for _, f in ipairs(module_functions) do | for _, f in ipairs(module_functions) do | ||
| Line 213: | Line 213: | ||
end | end | ||
table.insert( | table.insert(lines, "|-") | ||
table.insert( | table.insert(lines, "| " .. link) | ||
table.insert( | table.insert(lines, "| " .. f.line) | ||
end | end | ||
table.insert( | table.insert(lines, "|}") | ||
return | return table.concat(lines, "\n") | ||
end | end | ||
| Line 243: | Line 243: | ||
-- Get module's functions, then build a table using that information | -- Get module's functions, then build a table using that information | ||
local module_functions = p.find_functions(code) | local module_functions = p.find_functions(code) | ||
local | local func_table = p.make_function_table(module_name, module_functions, main_function) | ||
-- Count unique dependencies used | |||
local num_deps = 0 | |||
local deps_found = {} | |||
for _, v in ipairs(dep_table) do | |||
local dep = v["dep"] | |||
if not deps_found[dep] then | |||
deps_found[dep] = true | |||
num_deps = num_deps + 1 | |||
end | |||
end | |||
-- Return the tables as strings | -- Return the tables as strings | ||
local summary = string.format("'''Introspection summary:''' Module:%s provides %d functions(s).", module_name, #module_functions) | local summary = string.format("'''Introspection summary:''' Module:%s requires %d unique Lua modules and provides %d functions(s).", module_name, num_deps, #module_functions) | ||
return summary .. "\n" .. | return summary .. "\n" .. dep_table .. "\n" .. func_table | ||
end | end | ||