Class: Tractive::GracefulQuit

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/tractive/graceful_quit.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGracefulQuit

Returns a new instance of GracefulQuit.



11
12
13
# File 'lib/tractive/graceful_quit.rb', line 11

def initialize
  self.breaker = false
end

Instance Attribute Details

#breakerObject

Returns the value of attribute breaker.



9
10
11
# File 'lib/tractive/graceful_quit.rb', line 9

def breaker
  @breaker
end

Class Method Details

.check(message = "Quitting") ⇒ Object



22
23
24
25
26
27
28
# File 'lib/tractive/graceful_quit.rb', line 22

def self.check(message = "Quitting")
  return unless instance.breaker

  yield if block_given?
  $logger.info message
  exit
end

.enableObject



15
16
17
18
19
20
# File 'lib/tractive/graceful_quit.rb', line 15

def self.enable
  trap("INT") do
    yield if block_given?
    instance.breaker = true
  end
end