moduleapi: Support stripping of multi-word from module names
authorMatthew Wild <mwild1@gmail.com>
Wed, 22 Dec 2021 14:40:42 +0000
changeset 12099 c1d2bc6603ae
parent 12098 84fd6a79cda7
child 12100 dfb29b5b0a57
moduleapi: Support stripping of multi-word from module names The goal is to allow module:provides("foo-bar") with a mod_foo_bar_ prefix being stripped. It will break any existing modules that use a prefix and have hyphens instead of underscores. No such modules are known.
core/moduleapi.lua
--- a/core/moduleapi.lua	Tue Dec 21 21:23:01 2021 +0100
+++ b/core/moduleapi.lua	Wed Dec 22 14:40:42 2021 +0000
@@ -355,7 +355,7 @@
 		local item_name = self.name;
 		-- Strip a provider prefix to find the item name
 		-- (e.g. "auth_foo" -> "foo" for an auth provider)
-		if item_name:find(name.."_", 1, true) == 1 then
+		if item_name:find((name:gsub("%-", "_")).."_", 1, true) == 1 then
 			item_name = item_name:sub(#name+2);
 		end
 		item.name = item_name;