Module:Module introspection: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 135: | Line 135: | ||
local dep_lines = {} | local dep_lines = {} | ||
--.insert(dep_lines, string.format("'''Module:%s''' requires the following dependencies:", module_name)) | |||
table.insert(dep_lines, '{| class="wikitable sortable"') | table.insert(dep_lines, '{| class="wikitable sortable"') | ||
table.insert(dep_lines, '|+ Dependencies and functions used') | |||
table.insert(dep_lines, "! Dependency") | table.insert(dep_lines, "! Dependency") | ||
table.insert(dep_lines, "! Variable") | table.insert(dep_lines, "! Variable") | ||
| Line 180: | Line 180: | ||
local func_lines = {} | local func_lines = {} | ||
table.insert(func_lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_functions)) | --table.insert(func_lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_functions)) | ||
table.insert(func_lines, "{| class=\"" .. func_class .. "\"") | table.insert(func_lines, "{| class=\"" .. func_class .. "\"") | ||
table.insert(func_lines, "|+ Functions provided by this module") | |||
table.insert(func_lines, "! Function") | table.insert(func_lines, "! Function") | ||
table.insert(func_lines, "! Line") | table.insert(func_lines, "! Line") | ||
| Line 224: | Line 224: | ||
-- Return the tables as strings | -- Return the tables as strings | ||
return table.concat(dep_lines, "\n") | local summary = string.format("Introspection summary: Module:%s requires %d module(s) and provides %d functions(s).", module_name, #deps, #module_functions) | ||
return summary .. "\n" .. table.concat(dep_lines, "\n") .. "\n" .. table.concat(func_lines, "\n") | |||
end | end | ||
| Line 231: | Line 232: | ||
function p.module_introspection(frame) | function p.module_introspection(frame) | ||
-- Extract arguments using getArgs | -- Extract arguments using getArgs | ||
local args = getArgs(frame) | local args = getArgs(frame) or {} | ||
-- Get module name from arguments, or default to current page | -- Get module name from arguments, or default to current page | ||
| Line 244: | Line 245: | ||
local normalized_name = module_name:gsub("[^%w]", "_"):lower() | local normalized_name = module_name:gsub("[^%w]", "_"):lower() | ||
local main_function = args["main_function"] or "_" .. normalized_name | local main_function = args["main_function"] or "_" .. normalized_name | ||
-- | -- Return | ||
return p._module_introspection({ | |||
["module_name"] = module_name, | ["module_name"] = module_name, | ||
["main_function"] = main_function, | ["main_function"] = main_function, | ||
}) | }) | ||
end | end | ||
return p | return p | ||