class Opal::Sprockets::Server

Attributes

debug[RW]
index_path[RW]
main[RW]
prefix[RW]
public_root[RW]
public_urls[RW]
sprockets[RW]
use_index[RW]

Public Class Methods

new(options = {}) { |self| ... } click to toggle source
# File lib/opal/sprockets/server.rb, line 9
def initialize options = {}
  @use_index   = true
  @public_root = nil
  @public_urls = ['/']
  @sprockets   = options.fetch(:sprockets, ::Sprockets::Environment.new)
  @debug       = options.fetch(:debug, true)
  @prefix      = options.fetch(:prefix, '/assets')

  Opal.paths.each { |p| @sprockets.append_path(p) }

  yield self if block_given?
  create_app
end

Public Instance Methods

append_path(path) click to toggle source
# File lib/opal/sprockets/server.rb, line 36
def append_path path
  @sprockets.append_path path
end
call(env) click to toggle source
# File lib/opal/sprockets/server.rb, line 58
def call(env)
  @app.call env
end
create_app() click to toggle source
# File lib/opal/sprockets/server.rb, line 44
def create_app
  server, sprockets, prefix = self, @sprockets, self.prefix
  sprockets.logger.level ||= Logger::DEBUG

  @app = Rack::Builder.app do
    not_found = lambda { |env| [404, {}, []] }
    use Rack::Deflater
    use Rack::ShowExceptions
    use Index, server if server.use_index
    map(prefix)      { run sprockets }
    run Rack::Static.new(not_found, root: server.public_root, urls: server.public_urls)
  end
end
public_dir=(dir) click to toggle source
# File lib/opal/sprockets/server.rb, line 23
def public_dir=(dir)
  @public_root = dir
  @public_urls = ["/"]
end
source_map=(enabled) click to toggle source
# File lib/opal/sprockets/server.rb, line 28
def source_map=(enabled)
  Opal::Config.source_map_enabled = enabled
end
source_map_enabled() click to toggle source
# File lib/opal/sprockets/server.rb, line 32
def source_map_enabled
  Opal::Config.source_map_enabled
end
use_gem(gem_name) click to toggle source
# File lib/opal/sprockets/server.rb, line 40
def use_gem gem_name
  @sprockets.use_gem gem_name
end