module Sinatra::Silent::ClassMethods
Public Instance Methods
set(option, value = (not_set = true), ignore_setter = false, &block)
click to toggle source
Calls superclass method
# File lib/sinatra/silent.rb, line 11 def set(option, value = (not_set = true), ignore_setter = false, &block) return if option == {} case option when :silent_all set :silent_sinatra, true set :silent_webrick, true set :silent_access_log, true when :silent_access_log new_server_settings = if value == true existing_server_settings.merge(AccessLog: []) else existing_server_settings.tap { |hash| hash.delete(:AccessLog) } end super :server_settings, new_server_settings when :silent_sinatra case value when true self.define_singleton_method :suppress_messages? do return true end when false self.define_singleton_method :suppress_messages? do handler_name =~ /cgi/i || quiet end end when :silent_webrick new_server_settings = if value == true existing_server_settings.merge(Logger: SilentLogger.new) else existing_server_settings.tap { |hash| hash.delete(:Logger) } end super :server_settings, new_server_settings else super option, value, ignore_setter, &block end end
Private Instance Methods
existing_server_settings()
click to toggle source
# File lib/sinatra/silent.rb, line 53 def existing_server_settings return {} unless self.settings.respond_to? :server_settings self.settings.server_settings end