Sha256: 019e5b76dae2e2bf8aafd6d0d2e5beca04869f0b7024bd9b828c7e890bfa338c
Contents?: true
Size: 984 Bytes
Versions: 3
Compression:
Stored size: 984 Bytes
Contents
# typed: strict # frozen_string_literal: true module Minitest module Distributed module Filters class IncludeFilter 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(enqueued_runnable: EnqueuedRunnable).returns(T::Array[EnqueuedRunnable]) } def call(enqueued_runnable) # rubocop:disable Style/CaseEquality if filter === enqueued_runnable.method_name || filter === enqueued_runnable.identifier [enqueued_runnable] else [] end # rubocop:enable Style/CaseEquality end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems