Class: GitMulticast::Task
- Inherits:
-
Object
- Object
- GitMulticast::Task
- Includes:
- Process
- Defined in:
- lib/git_multicast/task.rb,
lib/git_multicast/task/result.rb,
lib/git_multicast/task/runner.rb
Defined Under Namespace
Instance Method Summary collapse
-
#initialize(description, command) ⇒ Task
constructor
A new instance of Task.
- #run! ⇒ Object (also: #call)
Constructor Details
#initialize(description, command) ⇒ Task
Returns a new instance of Task.
8 9 10 |
# File 'lib/git_multicast/task.rb', line 8 def initialize(description, command) @description, @command = description, command end |
Instance Method Details
#run! ⇒ Object Also known as: call
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/git_multicast/task.rb', line 12 def run! r, w = IO.pipe pid = spawn(command, out: w, err: w) _, status = wait2(pid) w.close unless w.closed? Result.new(description, r.read, status.exitstatus) ensure w.close unless w.closed? end |