class Sidekiq::Web

Constants

ASSETS
DEFAULT_TABS
LAYOUT
LOCALES
ROOT
VIEWS

Attributes

app_url[RW]
locales[W]
redis_pool[RW]
views[W]

Public Class Methods

call(env) click to toggle source
# File lib/sidekiq/web.rb, line 111
def self.call(env)
  @app ||= new
  @app.call(env)
end
custom_tabs() click to toggle source
# File lib/sidekiq/web.rb, line 45
def custom_tabs
  @custom_tabs ||= {}
end
Also aliased as: tabs
default_tabs() click to toggle source
# File lib/sidekiq/web.rb, line 41
def default_tabs
  DEFAULT_TABS
end
disable(*opts) click to toggle source
# File lib/sidekiq/web.rb, line 62
def disable(*opts)
  opts.each { |key| set(key, false) }
end
enable(*opts) click to toggle source
# File lib/sidekiq/web.rb, line 58
def enable(*opts)
  opts.each { |key| set(key, true) }
end
inherited(child) click to toggle source
# File lib/sidekiq/web.rb, line 90
def self.inherited(child)
  child.app_url = app_url
  child.redis_pool = redis_pool
end
locales() click to toggle source
# File lib/sidekiq/web.rb, line 50
def locales
  @locales ||= LOCALES
end
middlewares() click to toggle source
# File lib/sidekiq/web.rb, line 66
def middlewares
  @middlewares ||= []
end
register(extension) click to toggle source
# File lib/sidekiq/web.rb, line 136
def self.register(extension)
  extension.registered(WebApplication)
end
session_secret=(val) click to toggle source
# File lib/sidekiq/web.rb, line 82
def session_secret=(val)
  puts "WARNING: Sidekiq::Web.session_secret= is no longer relevant and will be removed in Sidekiq 7.0. #{caller(1..1).first}"
end
sessions=(val) click to toggle source
# File lib/sidekiq/web.rb, line 78
def sessions=(val)
  puts "WARNING: Sidekiq::Web.sessions= is no longer relevant and will be removed in Sidekiq 7.0. #{caller(1..1).first}"
end
set(attribute, value) click to toggle source
# File lib/sidekiq/web.rb, line 74
def set(attribute, value)
  send(:"#{attribute}=", value)
end
settings() click to toggle source
# File lib/sidekiq/web.rb, line 37
def settings
  self
end
tabs()
Alias for: custom_tabs
use(*args, &block) click to toggle source
# File lib/sidekiq/web.rb, line 70
def use(*args, &block)
  middlewares << [args, block]
end
views() click to toggle source
# File lib/sidekiq/web.rb, line 54
def views
  @views ||= VIEWS
end

Public Instance Methods

app() click to toggle source
# File lib/sidekiq/web.rb, line 116
def app
  @app ||= build
end
call(env) click to toggle source
# File lib/sidekiq/web.rb, line 107
def call(env)
  app.call(env)
end
disable(*opts) click to toggle source
# File lib/sidekiq/web.rb, line 124
def disable(*opts)
  opts.each { |key| set(key, false) }
end
enable(*opts) click to toggle source
# File lib/sidekiq/web.rb, line 120
def enable(*opts)
  opts.each { |key| set(key, true) }
end
middlewares() click to toggle source
# File lib/sidekiq/web.rb, line 99
def middlewares
  @middlewares ||= self.class.middlewares
end
sessions=(val) click to toggle source
# File lib/sidekiq/web.rb, line 132
def sessions=(val)
  puts "Sidekiq::Web#sessions= is no longer relevant and will be removed in Sidekiq 7.0. #{caller[2..2].first}"
end
set(attribute, value) click to toggle source
# File lib/sidekiq/web.rb, line 128
def set(attribute, value)
  send(:"#{attribute}=", value)
end
settings() click to toggle source
# File lib/sidekiq/web.rb, line 95
def settings
  self.class.settings
end
use(*args, &block) click to toggle source
# File lib/sidekiq/web.rb, line 103
def use(*args, &block)
  middlewares << [args, block]
end

Private Instance Methods

build() click to toggle source
# File lib/sidekiq/web.rb, line 142
def build
  klass = self.class
  m = middlewares

  rules = []
  rules = [[:all, {"Cache-Control" => "public, max-age=86400"}]] unless ENV["SIDEKIQ_WEB_TESTING"]

  ::Rack::Builder.new do
    use Rack::Static, urls: ["/stylesheets", "/images", "/javascripts"],
                      root: ASSETS,
                      cascade: true,
                      header_rules: rules
    m.each { |middleware, block| use(*middleware, &block) }
    use Sidekiq::Web::CsrfProtection unless $TESTING
    run WebApplication.new(klass)
  end
end