Class: Levels::ConfigCoreEventHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/levels/event_handler.rb

Overview

A temporary implementation that will be moved back to config to restore its original behavior.

Instance Method Summary collapse

Constructor Details

#initialize(log) ⇒ ConfigCoreEventHandler

Returns a new instance of ConfigCoreEventHandler.



103
104
105
106
107
# File 'lib/levels/event_handler.rb', line 103

def initialize(log)
  @log = log
  @base_color = :magenta
  @alt_color  = :cyan
end

Instance Method Details

#on_read_from_merged_group(group_name, key, levels) ⇒ Object



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/levels/event_handler.rb', line 109

def on_read_from_merged_group(group_name, key, levels)
  final_level_name, final_value = levels.last

  if levels.size == 1
    @log << @log.colorize("Read #{group_name}.#{key} => #{final_value.inspect} from #{final_level_name}", @base_color)
  else
    skipped_levels = levels[0..-2]

    @log << @log.colorize("Read #{group_name}.#{key}", @base_color)
    @log.indent do
      skipped_levels.each do |level_name, value|
        @log << @log.colorize("Skip #{value.inspect} from #{level_name}", @alt_color)
      end
      @log << @log.colorize("Use  #{final_value.inspect} from #{final_level_name}", @base_color)
    end
  end
end