class Dry::Logic::Operations::Xor

def [](input)

def [](input)
  left[input] ^ right[input]
end

def ast(input = Undefined)

def ast(input = Undefined)
  [type, rules.map { |rule| rule.ast(input) }]
end

def call(input)

def call(input)
  Result.new(self[input], id) { ast(input) }
end

def type

def type
  :xor
end