Module: Hyalite::Logger

Defined in:
lib/hyalite/logger.rb

Constant Summary collapse

ERROR_LEVELS =
%i(error warn info debug)

Class Method Summary collapse

Class Method Details

.debug(obj) ⇒ Object



32
33
34
# File 'lib/hyalite/logger.rb', line 32

def self.debug(obj)
  output(:debug, obj)
end

.error(obj) ⇒ Object



14
15
16
17
18
# File 'lib/hyalite/logger.rb', line 14

def self.error(obj)
  if self.log_level == :error
    output(:error, obj)
  end
end

.info(obj) ⇒ Object



26
27
28
29
30
# File 'lib/hyalite/logger.rb', line 26

def self.info(obj)
  if @log_level_index <=  ERROR_LEVELS.index(:info)
    output(:info, obj)
  end
end

.log_levelObject



9
10
11
12
# File 'lib/hyalite/logger.rb', line 9

def self.log_level
  @log_level_index ||= ERROR_LEVELS.index(:warn)
  ERROR_LEVELS[@log_level_index]
end

.log_level=(level) ⇒ Object



5
6
7
# File 'lib/hyalite/logger.rb', line 5

def self.log_level=(level)
  @log_level_index = ERROR_LEVELS.index(level)
end

.output(level, obj) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/hyalite/logger.rb', line 36

def self.output(level, obj)
  case obj
  when String
    puts "#{level.upcase}: #{obj}"
  else
    puts "#{level.upcase}: #{obj.inspect}"
  end
end

.warn(obj) ⇒ Object



20
21
22
23
24
# File 'lib/hyalite/logger.rb', line 20

def self.warn(obj)
  if @log_level_index <=  ERROR_LEVELS.index(:warn)
    output(:warn, obj)
  end
end