class RBS::UnitTest::WithAliases::WithEnum
def and(*args, &block)
def and(*args, &block) return WithEnum.new to_enum(__method__ || raise, *args) unless block each(&block) args.each do |arg| if WithEnum === arg # use `===` as `arg` might not have `.is_a?` on it arg.each(&block) else block.call(_ = arg) end end end
def and_nil(&block)
def and_nil(&block) self.and(nil, &_ = block) end
def but(*cases, &block)
def but(*cases, &block) return WithEnum.new to_enum(__method__ || raise, *cases) unless block each do |arg| yield arg unless cases.any? { (_ = _1) === arg } end end
def each(&block) = @enum.each(&block)
def each(&block) = @enum.each(&block)
def initialize(enum) = @enum = enum
def initialize(enum) = @enum = enum