Module: Mumukit::Env

Defined in:
lib/mumukit/env.rb

Class Method Summary collapse

Class Method Details

.envObject



3
4
5
# File 'lib/mumukit/env.rb', line 3

def self.env
  Thread.current[:mumukit_env]
end

.env=(env) ⇒ Object



7
8
9
# File 'lib/mumukit/env.rb', line 7

def self.env=(env)
  Thread.current[:mumukit_env] = env
end

.loggerObject

A safe logger, which uses ‘rack_logger` if available or `root_logger` otherwise



13
14
15
# File 'lib/mumukit/env.rb', line 13

def self.logger
  rack_logger || root_logger
end

.rack_loggerObject

The rack env logger. ‘nil“ when no `env` is available

Designed to be used during a request



20
21
22
# File 'lib/mumukit/env.rb', line 20

def self.rack_logger
  env&.[]('rack.logger')
end

.root_loggerObject

A logger to stdout. It must be used when no rack ‘env` is available. Logs as INFO by default.

Designed to be used during app initialization process



28
29
30
# File 'lib/mumukit/env.rb', line 28

def self.root_logger
  @logger ||= Logger.new(STDOUT).tap { |it| it.level = Logger::INFO }
end