Class: Gracefully::TimedCommand

Inherits:
Command
  • Object
show all
Defined in:
lib/gracefully/timed_command.rb

Instance Method Summary collapse

Methods inherited from Command

normalize_arguments

Constructor Details

#initialize(*args, &block) ⇒ TimedCommand

Returns a new instance of TimedCommand.



7
8
9
10
11
# File 'lib/gracefully/timed_command.rb', line 7

def initialize(*args, &block)
  super

  @timeout = @options[:timeout]
end

Instance Method Details

#call(*args, &block) ⇒ Object



13
14
15
16
17
# File 'lib/gracefully/timed_command.rb', line 13

def call(*args, &block)
  Timeout.timeout(@timeout) do
    @callable.call *args, &block
  end
end