Sha256: 346ac24e5d1d4bd51d98439a626b1f2269711af9c82e8aa903b1124e688e3391
Contents?: true
Size: 514 Bytes
Versions: 7
Compression:
Stored size: 514 Bytes
Contents
require 'dry/logic/operations/binary' require 'dry/logic/result' module Dry module Logic module Operations class Xor < Binary def type :xor end alias_method :operator, :type def call(input) Result.new(self[input], id) { ast(input) } end def [](input) left[input] ^ right[input] end def ast(input = Undefined) [type, rules.map { |rule| rule.ast(input) }] end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems