class Sidekiq::Cleaner
Constants
- ASSETS
- DEFAULT_TABS
- LAYOUT
- LOCALES
- ROOT
- VIEWS
Attributes
app_url[RW]
locales[W]
redis_pool[RW]
session_secret[RW]
sessions[RW]
views[W]
sessions[W]
Public Class Methods
call(env)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 107 def self.call(env) @app ||= new @app.call(env) end
custom_tabs()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 54 def custom_tabs @custom_tabs ||= {} end
Also aliased as: tabs
default_tabs()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 50 def default_tabs DEFAULT_TABS end
disable(*opts)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 71 def disable(*opts) opts.each {|key| set(key, false) } end
enable(*opts)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 67 def enable(*opts) opts.each {|key| set(key, true) } end
inherited(child)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 84 def self.inherited(child) child.app_url = self.app_url child.session_secret = self.session_secret child.redis_pool = self.redis_pool child.sessions = self.sessions end
locales()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 59 def locales @locales ||= LOCALES end
middlewares()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 42 def middlewares @middlewares ||= [] end
register(extension)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 142 def self.register(extension) extension.registered(CleanerApplication) end
set(attribute, value)
click to toggle source
Helper for the Sinatra syntax: Sidekiq::Cleaner.set
(:session_secret, Rails.application.secrets…)
# File lib/sidekiq/cleaner.rb, line 76 def set(attribute, value) send(:"#{attribute}=", value) end
settings()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 38 def settings self end
use(*middleware_args, &block)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 46 def use(*middleware_args, &block) middlewares << [middleware_args, block] end
views()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 63 def views @views ||= VIEWS end
Public Instance Methods
app()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 112 def app @app ||= build end
call(env)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 103 def call(env) app.call(env) end
disable(*opts)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 120 def disable(*opts) opts.each {|key| set(key, false) } end
enable(*opts)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 116 def enable(*opts) opts.each {|key| set(key, true) } end
middlewares()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 99 def middlewares @middlewares ||= Cleaner.middlewares.dup end
sessions()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 133 def sessions unless instance_variable_defined?("@sessions") @sessions = self.class.sessions @sessions = @sessions.to_hash.dup if @sessions.respond_to?(:to_hash) end @sessions end
set(attribute, value)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 124 def set(attribute, value) send(:"#{attribute}=", value) end
settings()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 91 def settings self.class.settings end
use(*middleware_args, &block)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 95 def use(*middleware_args, &block) middlewares << [middleware_args, block] end
Private Instance Methods
build()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 177 def build build_sessions middlewares = self.middlewares klass = self.class ::Rack::Builder.new do %w(stylesheets javascripts images).each do |asset_dir| map "/#{asset_dir}" do run ::Rack::File.new("#{ASSETS}/#{asset_dir}", { 'Cache-Control' => 'public, max-age=86400' }) end end middlewares.each {|middleware, block| use(*middleware, &block) } run CleanerApplication.new(klass) end end
build_sessions()
click to toggle source
# File lib/sidekiq/cleaner.rb, line 154 def build_sessions middlewares = self.middlewares unless using?(::Rack::Protection) || ENV['RACK_ENV'] == 'test' middlewares.unshift [[::Rack::Protection, { use: :authenticity_token }], nil] end s = sessions return unless s unless using? ::Rack::Session::Cookie unless secret = Cleaner.session_secret require 'securerandom' secret = SecureRandom.hex(64) end options = { secret: secret } options = options.merge(s.to_hash) if s.respond_to? :to_hash middlewares.unshift [[::Rack::Session::Cookie, options], nil] end end
using?(middleware)
click to toggle source
# File lib/sidekiq/cleaner.rb, line 148 def using?(middleware) middlewares.any? do |(m,_)| m.kind_of?(Array) && (m[0] == middleware || m[0].kind_of?(middleware)) end end