lib/lounger.rb in lounger-0.1.0 vs lib/lounger.rb in lounger-0.2.0

- old
+ new

@@ -1,17 +1,17 @@ require "lounger/version" class Lounger - def initialize + SIGNALS = ["INT", "TERM", "EXIT", "USR1", "QUIT"] + + def initialize(include_signals: [], exclude_signals: []) @lock = Mutex.new @condition = ConditionVariable.new - Signal.trap("INT") { wakeup! } - Signal.trap("TERM") { wakeup! } - Signal.trap("EXIT") { wakeup! } - Signal.trap("USR1") { wakeup! } - Signal.trap("QUIT") { wakeup! } + (SIGNALS + include_signals - exclude_signals).each do |signal| + Signal.trap(signal) { wakeup! } + end end def idle @lock.synchronize { @condition.wait(@lock) } end @@ -21,6 +21,9 @@ end def self.idle Lounger.new.idle end + + alias_method :wait, :idle + alias_method :signal, :wakeup! end \ No newline at end of file