Software / code / prosody
Comparison
core/modulemanager.lua @ 1392:9935ddfd8ccf
modulemanager: Added simple module:require implementation
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sun, 21 Jun 2009 19:15:59 +0500 |
| parent | 1361:4e56889c33e1 |
| child | 1393:576143941a76 |
comparison
equal
deleted
inserted
replaced
| 1377:ae88b9dc7890 | 1392:9935ddfd8ccf |
|---|---|
| 28 local pairs, ipairs = pairs, ipairs; | 28 local pairs, ipairs = pairs, ipairs; |
| 29 local t_insert, t_concat = table.insert, table.concat; | 29 local t_insert, t_concat = table.insert, table.concat; |
| 30 local type = type; | 30 local type = type; |
| 31 local next = next; | 31 local next = next; |
| 32 local rawget = rawget; | 32 local rawget = rawget; |
| 33 | 33 local error = error; |
| 34 local tostring = tostring; | 34 local tostring = tostring; |
| 35 | 35 |
| 36 -- We need this to let modules access the real global namespace | 36 -- We need this to let modules access the real global namespace |
| 37 local _G = _G; | 37 local _G = _G; |
| 38 | 38 |
| 398 return; | 398 return; |
| 399 end | 399 end |
| 400 return api.hook(self, "stanza/"..(xmlns and (xmlns..":") or "")..name, function (data) return handler(data.origin, data.stanza, data); end, priority); | 400 return api.hook(self, "stanza/"..(xmlns and (xmlns..":") or "")..name, function (data) return handler(data.origin, data.stanza, data); end, priority); |
| 401 end | 401 end |
| 402 | 402 |
| 403 function api:require(lib) | |
| 404 local f, n = pluginloader.load_code(self.name, lib..".lib.lua"); | |
| 405 if not f then | |
| 406 f, n = pluginloader.load_code(lib, lib..".lib.lua"); | |
| 407 end | |
| 408 if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message | |
| 409 return f(); | |
| 410 end | |
| 411 | |
| 403 -------------------------------------------------------------------- | 412 -------------------------------------------------------------------- |
| 404 | 413 |
| 405 local actions = {}; | 414 local actions = {}; |
| 406 | 415 |
| 407 function actions.load(params) | 416 function actions.load(params) |