Sha256: 6670a436922237d69007d11bf4c8794b44fba7aade736883d93f97bbc215d502

Contents?: true

Size: 407 Bytes

Versions: 3

Compression:

Stored size: 407 Bytes

Contents

# frozen_string_literal: true

module Basic101

  class BinaryOperations

    include Identity

    def initialize(left, operations)
      @left = left
      @operations = operations
    end

    def eval(runtime)
      @operations.inject(@left) do |result, operation|
        operation.operate(result, runtime)
      end
    end

    protected

    def state
      [@left, @operations]
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
basic101-1.0.2 lib/basic101/binary_operations.rb
basic101-1.0.1 lib/basic101/binary_operations.rb
basic101-1.0.0 lib/basic101/binary_operations.rb