Class: Sprockets::CommonJS

Inherits:
Tilt::Template
  • Object
show all
Defined in:
lib/sprockets/commonjs.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#namespaceObject (readonly)

Returns the value of attribute namespace.



16
17
18
# File 'lib/sprockets/commonjs.rb', line 16

def namespace
  @namespace
end

Class Method Details

.default_namespaceObject



8
9
10
# File 'lib/sprockets/commonjs.rb', line 8

def self.default_namespace
  'this.require'
end

Instance Method Details

#evaluate(scope, locals, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sprockets/commonjs.rb', line 18

def evaluate(scope, locals, &block)
  if scope.pathname.basename.to_s.include?('.module')
    path = scope.logical_path.inspect

    scope.require_asset 'sprockets/commonjs'

    code = ''
    code << "#{namespace}.define({#{path}:"
    code << 'function(exports, require, module){'
    code << data
    code << ";}});\n"
    code
  else
    data
  end
end

#prepareObject



12
13
14
# File 'lib/sprockets/commonjs.rb', line 12

def prepare
  @namespace = self.class.default_namespace
end