Module: ModuleInjector

Extended by:
ModuleInjector
Included in:
ModuleInjector
Defined in:
lib/dependence/module_injector.rb

Overview

Wraps code in a closure that provides an exports object to attach properties to the global namespace

Constant Summary collapse

@@module_code =
"var global =  window\n\nif (global.module == undefined) {\n  global.module = function(name, body) {\n    var exports = global[name]\n    if (exports == undefined) {\n    global[name] = exports = {}\n    }\n    body(exports)\n  }\n}\n"

Instance Method Summary collapse

Instance Method Details

#modularize(name, content) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/dependence/module_injector.rb', line 19

def modularize(name, content)
  module_code = "  \#{@@module_code}\n\n  module('\#{name.capitalize}', function(exports) {\n    \#{content}\n  })\n  JS\nend\n"