Module: Opal::Sprockets::SourceMapHeaderPatch
- Defined in:
 - opal/lib/opal/sprockets/source_map_header_patch.rb
 
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #headers_with_opal_source_maps(env, asset, length)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds the source map header to all sprocket responses for assets with a .rb or .opal extension in the extension chain.
 
Class Method Details
.included(base) ⇒ Object
      17 18 19 20 21  | 
    
      # File 'opal/lib/opal/sprockets/source_map_header_patch.rb', line 17 def self.included(base) # Poor man's alias_method_chain :) base.send(:alias_method, :headers_without_opal_source_maps, :headers) base.send(:alias_method, :headers, :headers_with_opal_source_maps) end  | 
  
.inject!(prefix) ⇒ Object
      23 24 25 26 27 28  | 
    
      # File 'opal/lib/opal/sprockets/source_map_header_patch.rb', line 23 def self.inject!(prefix) self.prefix = prefix unless ::Sprockets::Server.ancestors.include?(self) ::Sprockets::Server.send :include, self end end  | 
  
.prefix ⇒ Object
      30 31 32  | 
    
      # File 'opal/lib/opal/sprockets/source_map_header_patch.rb', line 30 def self.prefix @prefix end  | 
  
.prefix=(val) ⇒ Object
      34 35 36  | 
    
      # File 'opal/lib/opal/sprockets/source_map_header_patch.rb', line 34 def self.prefix= val @prefix = val end  | 
  
Instance Method Details
#headers_with_opal_source_maps(env, asset, length) ⇒ Object
Adds the source map header to all sprocket responses for assets with a .rb or .opal extension in the extension chain.
      8 9 10 11 12 13 14 15  | 
    
      # File 'opal/lib/opal/sprockets/source_map_header_patch.rb', line 8 def headers_with_opal_source_maps(env, asset, length) headers_without_opal_source_maps(env, asset, length).tap do |current_headers| if asset.pathname.to_s =~ /\.(rb|opal)\b/ base_path = asset.logical_path.gsub('.js', '') current_headers['X-SourceMap'] = "#{::Opal::Sprockets::SourceMapHeaderPatch.prefix}/#{base_path}.map" end end end  |