Sha256: dbf08a1f6f02872696923dbaa9793321fff062b060e486bf3e8f82104caa1758

Contents?: true

Size: 661 Bytes

Versions: 5

Compression:

Stored size: 661 Bytes

Contents

require 'monkeyshines/runner'

module Monkeyshines
  class RecursiveRunner < Monkeyshines::Runner
    GENERATION_LIMIT = 5

    #
    # Generate requests that ensue from this one
    #
    # if GENERATION_LIMIT is 5, requests at generation 4 *do* generate recursive
    # jobs, ones at generation 5 do not (so, generation 6 shouldn't exist)
    #
    def bookkeep result
      super result
      if result
        result.req_generation = result.req_generation.to_i
        return if (result.req_generation >= GENERATION_LIMIT)
        iter = 0
        result.recursive_requests do |rec_req|
          source.put rec_req
        end
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
monkeyshines-0.2.3 lib/monkeyshines/recursive_runner.rb
monkeyshines-0.2.2 lib/monkeyshines/recursive_runner.rb
monkeyshines-0.2.1 lib/monkeyshines/recursive_runner.rb
monkeyshines-0.2.0 lib/monkeyshines/recursive_runner.rb
monkeyshines-0.0.2 lib/monkeyshines/recursive_runner.rb