Class: RssObserver::LoggerHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/rss_observer/logger_handler.rb

Overview

Basic handler, outputting the memory change information to standard output

Constant Summary collapse

KEY =
:_rss_observer_initial_memory

Instance Method Summary collapse

Constructor Details

#initialize(logger = Logger.new(STDOUT)) ⇒ LoggerHandler

Returns a new instance of LoggerHandler.

Parameters:

  • logger (Logger) (defaults to: Logger.new(STDOUT))


9
10
11
# File 'lib/rss_observer/logger_handler.rb', line 9

def initialize(logger = Logger.new(STDOUT))
  @logger = logger
end

Instance Method Details

#final_memory(kilobytes) ⇒ Object

Parameters:

  • kilobytes (Float)


19
20
21
22
23
24
25
26
# File 'lib/rss_observer/logger_handler.rb', line 19

def final_memory(kilobytes)
  initial_memory = Thread.current[KEY]
  return unless initial_memory

  change = kilobytes - initial_memory
  initial_memory(nil)
  logger.info "Memory change: #{change} KB"
end

#initial_memory(kilobytes) ⇒ Object

Parameters:

  • kilobytes (Float)


14
15
16
# File 'lib/rss_observer/logger_handler.rb', line 14

def initial_memory(kilobytes)
  Thread.current[KEY] = kilobytes
end