-var Runner = function($, _, app) {\r
+define(['libs/jquery-1.9.1.min', 'libs/underscore-min'], function($, _) {\r
+\r
+var Runner = function(app, modules) {\r
\r
function getModuleInstance(moduleName) {\r
- var module = moduleInstances[moduleName] = (moduleInstances[moduleName] || app.modules[moduleName](new Sandbox(moduleName)));\r
+ var module = moduleInstances[moduleName] = (moduleInstances[moduleName] || modules[moduleName](new Sandbox(moduleName)));\r
return module;\r
}\r
\r
moduleInstances = {},\r
eventListeners = [];\r
\r
- _.each(_.keys(app.modules || {}), function(moduleName) {\r
+ _.each(_.keys(modules || {}), function(moduleName) {\r
if(_.contains(app.permissions[moduleName] || [], 'handleEvents')) {\r
eventListeners.push(moduleName)\r
}\r
}\r
\r
this.publish = function(eventName) {\r
+ console.log(moduleName + ': ' + eventName);\r
var eventArgs = Array.prototype.slice.call(arguments, 1)\r
_.each(eventListeners, function(listenerModuleName) {\r
var listener = moduleInstances[listenerModuleName];\r
getModuleInstance(moduleName).start();\r
});\r
}\r
-};
\ No newline at end of file
+}\r
+\r
+return {\r
+ Runner: Runner\r
+}\r
+\r
+});
\ No newline at end of file