Class: StinkBomb::LoggerBomb

Inherits:
Bomb
  • Object
show all
Defined in:
lib/stink_bomb/logger_bomb.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Bomb

#past_deadline?

Constructor Details

#initialize(logger = nil) ⇒ LoggerBomb

Returns a new instance of LoggerBomb.



5
6
7
8
9
# File 'lib/stink_bomb/logger_bomb.rb', line 5

def initialize(logger = nil)
  logger ||= Rails.logger if defined?(Rails)
  fail 'logger responding to "info" is required' unless logger
  @logger = logger
end

Instance Attribute Details

#deadlineObject

Returns the value of attribute deadline.



3
4
5
# File 'lib/stink_bomb/logger_bomb.rb', line 3

def deadline
  @deadline
end

Instance Method Details

#trigger(deadline, message:) ⇒ Object



11
12
13
# File 'lib/stink_bomb/logger_bomb.rb', line 11

def trigger(deadline, message:)
  @logger.info(message) if past_deadline?(deadline)
end