Sha256: 247f36aeabc34bf5601cb91bb940f692b9a909d8ae2b0d97b9be896e8fd7e75f

Contents?: true

Size: 504 Bytes

Versions: 41

Compression:

Stored size: 504 Bytes

Contents

module Startback
  class Operation
    class MultiOperation < Operation

      def initialize(ops = [])
        @ops = ops
      end
      attr_reader :ops

      def size
        ops.size
      end

      def +(other)
        MultiOperation.new(@ops + Array(other))
      end

      def bind(world)
        MultiOperation.new(ops.map{|op| op.bind(world) })
      end

      def call
        ops.map{|op| op.call }
      end

    end # class MultiOperation
  end # class Operation
end # module Startback

Version data entries

41 entries across 41 versions & 3 rubygems

Version Path
startback-1.0.3 lib/startback/operation/multi_operation.rb
startback-1.0.2 lib/startback/operation/multi_operation.rb
startback-1.0.1 lib/startback/operation/multi_operation.rb
startback-1.0.0 lib/startback/operation/multi_operation.rb
startback-0.19.4 lib/startback/operation/multi_operation.rb
startback-0.19.3 lib/startback/operation/multi_operation.rb
startback-0.19.1 lib/startback/operation/multi_operation.rb
startback-0.19.0 lib/startback/operation/multi_operation.rb
startback-0.18.2 lib/startback/operation/multi_operation.rb
startback-0.18.1 lib/startback/operation/multi_operation.rb
startback-0.18.0 lib/startback/operation/multi_operation.rb
startback-0.17.4 lib/startback/operation/multi_operation.rb
startback-0.17.3 lib/startback/operation/multi_operation.rb
startback-0.17.2 lib/startback/operation/multi_operation.rb
startback-0.17.1 lib/startback/operation/multi_operation.rb
startback-0.17.0 lib/startback/operation/multi_operation.rb
startback-0.16.0 lib/startback/operation/multi_operation.rb
startback-0.15.5 lib/startback/operation/multi_operation.rb
startback-0.15.4 lib/startback/operation/multi_operation.rb
startback-0.15.3 lib/startback/operation/multi_operation.rb