Sha256: cd03ee2e98ad31c843a4c7a78f9b2a4e947c5cbe1cca172116947742025ce5d1

Contents?: true

Size: 492 Bytes

Versions: 30

Compression:

Stored size: 492 Bytes

Contents

module Startback
  class Operation
    class MultiOperation

      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

30 entries across 30 versions & 1 rubygems

Version Path
startback-0.9.1 lib/startback/operation/multi_operation.rb
startback-0.9.0 lib/startback/operation/multi_operation.rb
startback-0.8.3 lib/startback/operation/multi_operation.rb
startback-0.8.2 lib/startback/operation/multi_operation.rb
startback-0.8.1 lib/startback/operation/multi_operation.rb
startback-0.8.0 lib/startback/operation/multi_operation.rb
startback-0.7.6 lib/startback/operation/multi_operation.rb
startback-0.7.5 lib/startback/operation/multi_operation.rb
startback-0.7.4 lib/startback/operation/multi_operation.rb
startback-0.7.3 lib/startback/operation/multi_operation.rb
startback-0.7.2 lib/startback/operation/multi_operation.rb
startback-0.7.1 lib/startback/operation/multi_operation.rb
startback-0.7.0 lib/startback/operation/multi_operation.rb
startback-0.6.0 lib/startback/operation/multi_operation.rb
startback-0.5.5 lib/startback/operation/multi_operation.rb
startback-0.5.4 lib/startback/operation/multi_operation.rb
startback-0.5.3 lib/startback/operation/multi_operation.rb
startback-0.5.2 lib/startback/operation/multi_operation.rb
startback-0.5.1 lib/startback/operation/multi_operation.rb
startback-0.5.0 lib/startback/operation/multi_operation.rb