Class: Opal::Builder::Processor::ERBProcessor

Inherits:
Opal::Builder::Processor show all
Defined in:
opal/lib/opal/builder/processor.rb

Overview

This handler is for files named ".js.erb", which ought to first get preprocessed via ERB, then served verbatim as JS.

Instance Attribute Summary

Attributes inherited from Opal::Builder::Processor

#abs_path, #autoloads, #filename, #options, #required_trees, #requires

Instance Method Summary collapse

Methods inherited from Opal::Builder::Processor

handles, #initialize, #mark_as_required, match?, match_regexp, #to_s

Constructor Details

This class inherits a constructor from Opal::Builder::Processor

Instance Method Details

#sourceObject



170
171
172
173
174
175
176
177
# File 'opal/lib/opal/builder/processor.rb', line 170

def source
  erb = ::ERB.new(@source.to_s)
  erb.filename = @abs_path

  result = erb.result
  module_name = ::Opal::Compiler.module_name(@filename)
  "Opal.modules[#{module_name.inspect}] = function() {#{result}};"
end