Class: GitMulticast::Task
- Inherits:
-
Object
- Object
- GitMulticast::Task
- Includes:
- Process
- Defined in:
- lib/git_multicast/task.rb
Instance Method Summary collapse
-
#initialize(description, command) ⇒ Task
constructor
A new instance of Task.
- #run! ⇒ Object (also: #call)
Constructor Details
#initialize(description, command) ⇒ Task
5 6 7 |
# File 'lib/git_multicast/task.rb', line 5 def initialize(description, command) @description, @command = description, command end |
Instance Method Details
#run! ⇒ Object Also known as: call
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/git_multicast/task.rb', line 9 def run! r, w = IO.pipe w.write("Running: #{description}\n") pid = spawn(command, out: w, err: w) _, exit_status = wait(pid) w.close unless w.closed? TaskResult.new(description, r.read, exit_status) ensure w.close unless w.closed? end |