Sha256: 03ee0883bebac97464f340c15247e148fe087616a60c0830d655fa94fdf25176
Contents?: true
Size: 748 Bytes
Versions: 6
Compression:
Stored size: 748 Bytes
Contents
# frozen_string_literal: true require "dry/logic/operations/binary" require "dry/logic/result" module Dry module Logic module Operations class Or < Binary def type :or end alias_method :operator, :type def call(input) left_result = left.(input) if left_result.success? Result::SUCCESS else right_result = right.(input) if right_result.success? Result::SUCCESS else Result.new(false, id) { [:or, [left_result.to_ast, right_result.to_ast]] } end end end def [](input) left[input] || right[input] end end end end end
Version data entries
6 entries across 6 versions & 2 rubygems