Sha256: 6db1a067a370b9324ae9af4b9177378ed0403c9b5c1e3b199c45956d20afafa7

Contents?: true

Size: 539 Bytes

Versions: 12

Compression:

Stored size: 539 Bytes

Contents

module EY
  module Serverside
    $LOAD_PATH.unshift File.expand_path('../../vendor/dataflow', File.dirname(__FILE__))
    require 'dataflow'

    class Future
      extend Dataflow

      def self.call(blocks)
        futures = map(blocks)

        # Dataflow needs to call `barrier` and `need_later` in the same object
        need_laters = futures.map do |future|
          need_later { future.result }
        end
        barrier(*need_laters)

        futures
      end

      def call
        @block.call
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
engineyard-serverside-2.0.4 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.3 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.2 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.1 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.rc1 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.pre5 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.pre4 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.pre3 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.pre2 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-2.0.0.pre1 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.7.0.pre2 lib/engineyard-serverside/futures/dataflow.rb