Sha256: f057226658c72cd95890f58f4d185e27a9bc15ca246908a5e9ce22d04bfa8cf5

Contents?: true

Size: 655 Bytes

Versions: 50

Compression:

Stored size: 655 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(servers, *args, &block)
        futures = []
        # Dataflow needs to call `barrier` and `need_later` in the same object
        barrier(*servers.map do |server|
          future = new(server, *args, &block)
          futures << future

          need_later { future.call }
        end)

        futures
      end

      def future
        @block.call(@server, *@args)
      end

      def call
        @value ||= future
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
engineyard-serverside-1.6.5 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre6 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre5 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre4 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre3 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre2 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.4.pre lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.3 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.35.pre.2 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.35.pre.1 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.33 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.32 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.0.pre5 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.30 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.0.pre4 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.0.pre3 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.0.pre2 lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.6.0.pre lib/engineyard-serverside/futures/dataflow.rb
engineyard-serverside-1.5.29.pre3 lib/engineyard-serverside/futures/dataflow.rb