Class: Job

Inherits:
Object
  • Object
show all
Defined in:
lib/LRH.rb

Direct Known Subclasses

PartialJob

Constant Summary collapse

NOT_RUNNING =
0
RUNNING =
1
HALTED =
2

Instance Method Summary collapse

Constructor Details

#initialize(lister, runner, harvester) ⇒ Job

Returns a new instance of Job.



225
226
227
228
229
230
231
232
233
234
235
# File 'lib/LRH.rb', line 225

def initialize(lister, runner, harvester)
    @lister = lister
    @runner = runner
    @harvester = harvester
    
    @lister.job = self
    @runner.job = self
    @harvester.job = self
    
    @status = NOT_RUNNING
end

Instance Method Details

#halt!Object



255
256
257
# File 'lib/LRH.rb', line 255

def halt!
    @status = HALTED
end

#runObject



237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# File 'lib/LRH.rb', line 237

def run
    @status = RUNNING
    @lister._list do |target|
        partial = @runner._run(target)
        @harvester._harvest(partial)
        
        break if @status != RUNNING
    end
    
    @runner._finally do |to_harvest|
        @harvester._harvest(to_harvest)
    end
    
    @status = NOT_RUNNING
    
    return @harvester._result
end