Class: Wait::BaseDelayer

Inherits:
Object
  • Object
show all
Defined in:
lib/delayers/base.rb

Direct Known Subclasses

RegularDelayer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delay) ⇒ BaseDelayer

Returns a new instance of BaseDelayer.



5
6
7
# File 'lib/delayers/base.rb', line 5

def initialize(delay)
  @delay = delay
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



3
4
5
# File 'lib/delayers/base.rb', line 3

def logger
  @logger
end

Instance Method Details

#logObject

Logs how long the delay is.



16
17
18
19
20
# File 'lib/delayers/base.rb', line 16

def log
  return if @logger.nil?

  @logger.debug("Delayer") { "delaying for #{self}" }
end

#sleepObject

Called before a reattempt to sleep a certain about of time.



10
11
12
13
# File 'lib/delayers/base.rb', line 10

def sleep
  log
  Kernel.sleep(@delay)
end

#to_sObject

Returns a string representation of the delay.



23
24
25
# File 'lib/delayers/base.rb', line 23

def to_s
  "#{@delay}s"
end