Sha256: 1cf97ff0267a837e2b89b448dabef2aead55da5f5c87a7162a61faa15fc7d9b6
Contents?: true
Size: 943 Bytes
Versions: 12
Compression:
Stored size: 943 Bytes
Contents
# typed: strict # frozen_string_literal: true module Minitest module Distributed module Filters class ExcludeFilter extend T::Sig include FilterInterface sig { returns(T.any(String, Regexp)) } attr_reader :filter sig { params(filter: T.any(String, Regexp)).void } def initialize(filter) @filter = filter if filter.is_a?(String) && (match_info = filter.match(%r%/(.*)/%)) @filter = Regexp.new(T.must(match_info[1])) end end sig { override.params(runnable: Minitest::Runnable).returns(T::Array[Runnable]) } def call(runnable) # rubocop:disable Style/CaseEquality if filter === runnable.name || filter === DefinedRunnable.identifier(runnable) [] else [runnable] end # rubocop:enable Style/CaseEquality end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems