class Volt::IndexFiles

Public Class Methods

new(rack_app, volt_app, component_paths, opal_files) click to toggle source
# File lib/volt/server/rack/index_files.rb, line 7
def initialize(rack_app, volt_app, component_paths, opal_files)
  @rack_app        = rack_app
  @volt_app        = volt_app
  @component_paths = component_paths
  @opal_files      = opal_files

  @@router = volt_app.router
end

Public Instance Methods

call(env) click to toggle source
# File lib/volt/server/rack/index_files.rb, line 24
def call(env)
  if route_match?(env['PATH_INFO'])
    [200, { 'Content-Type' => 'text/html; charset=utf-8' }, [html]]
  else
    @rack_app.call env
  end
end
css_files(*args) click to toggle source
# File lib/volt/server/rack/index_files.rb, line 43
def css_files(*args)
  fail "Deprecation: #css_files is deprecated in config/base/index.html, opal 0.8 required a new format."
end
css_tags() click to toggle source
# File lib/volt/server/rack/index_files.rb, line 52
def css_tags
  AssetFiles.from_cache(@volt_app.app_url, 'main', @component_paths).css_tags
end
html() click to toggle source
# File lib/volt/server/rack/index_files.rb, line 32
def html
  index_path = File.expand_path(File.join(Volt.root, 'config/base/index.html'))
  html       = File.read(index_path)

  ERB.new(html, nil, '-').result(binding)
end
javascript_files(*args) click to toggle source
# File lib/volt/server/rack/index_files.rb, line 39
def javascript_files(*args)
  fail "Deprecation: #javascript_files is deprecated in config/base/index.html, opal 0.8 required a new format."
end
javascript_tags() click to toggle source
# File lib/volt/server/rack/index_files.rb, line 47
def javascript_tags
  # TODO: Cache somehow, this is being loaded every time
  AssetFiles.from_cache(@volt_app.app_url, 'main', @component_paths).javascript_tags(@volt_app)
end
route_match?(path) click to toggle source
# File lib/volt/server/rack/index_files.rb, line 16
def route_match?(path)
  params = @@router.url_to_params(path)

  return params if params

  false
end