Sha256: ea80b26babb05f94c42e37a17bcf5a0462e3eab0d19abfccfe410ac6f1bc662e

Contents?: true

Size: 432 Bytes

Versions: 6

Compression:

Stored size: 432 Bytes

Contents

module Datacaster
  class AndNode < Base
    def initialize(left, right)
      @left = left
      @right = right
    end

    def cast(object, runtime:)
      left_result = @left.with_runtime(runtime).(object)
      return left_result unless left_result.valid?

      @right.with_runtime(runtime).(left_result.value)
    end

    def inspect
      "#<Datacaster::AndNode L: #{@left.inspect} R: #{@right.inspect}>"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
datacaster-3.1.5 lib/datacaster/and_node.rb
datacaster-3.1.3 lib/datacaster/and_node.rb
datacaster-3.1.2 lib/datacaster/and_node.rb
datacaster-3.1.1 lib/datacaster/and_node.rb
datacaster-3.1.0 lib/datacaster/and_node.rb
datacaster-3.0.0 lib/datacaster/and_node.rb