Class: Volt::SourceMapServer
- Defined in:
- lib/volt/server/rack/source_map_server.rb
Instance Attribute Summary collapse
- #prefix ⇒ Object
-
#sprockets ⇒ Object
readonly
Returns the value of attribute sprockets.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(sprockets) ⇒ SourceMapServer
constructor
A new instance of SourceMapServer.
- #inspect ⇒ Object
Constructor Details
#initialize(sprockets) ⇒ SourceMapServer
Returns a new instance of SourceMapServer.
3 4 5 |
# File 'lib/volt/server/rack/source_map_server.rb', line 3 def initialize(sprockets) @sprockets = sprockets end |
Instance Attribute Details
#prefix ⇒ Object
11 12 13 |
# File 'lib/volt/server/rack/source_map_server.rb', line 11 def prefix @prefix ||= '/__opal_source_maps__' end |
#sprockets ⇒ Object (readonly)
Returns the value of attribute sprockets.
7 8 9 |
# File 'lib/volt/server/rack/source_map_server.rb', line 7 def sprockets @sprockets end |
Instance Method Details
#call(env) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/volt/server/rack/source_map_server.rb', line 19 def call(env) path_info = env['PATH_INFO'] if path_info =~ /\.js\.map$/ path = env['PATH_INFO'].gsub(/^\/|\.js\.map$/, '') asset = sprockets[path] return [404, {}, []] if asset.nil? return [200, { 'Content-Type' => 'text/json' }, [$OPAL_SOURCE_MAPS[asset.pathname].to_s]] else return [200, { 'Content-Type' => 'text/text' }, [File.read(sprockets.resolve(path_info))]] end end |
#inspect ⇒ Object
15 16 17 |
# File 'lib/volt/server/rack/source_map_server.rb', line 15 def inspect "#<#{self.class}:#{object_id}>" end |