Sha256: 54df3b40cf3d010bd94540d38b6108613f4bbbfe743b4d94712465f254ef8847
Contents?: true
Size: 854 Bytes
Versions: 5
Compression:
Stored size: 854 Bytes
Contents
# frozen_string_literal: true module Leftovers module MatcherBuilders module Name class << self def build(patterns) ::Leftovers::MatcherBuilders::Or.each_or_self(patterns) do |pat| case pat when ::String then ::Leftovers::MatcherBuilders::String.build(pat) when ::Hash then build_from_hash(**pat) # :nocov: else raise Leftovers::UnexpectedCase, "Unhandled value #{pat.inspect}" # :nocov: end end end private def build_from_hash(unless_arg: nil, **pattern) ::Leftovers::MatcherBuilders::AndNot.build( ::Leftovers::MatcherBuilders::StringPattern.build(**pattern), ::Leftovers::MatcherBuilders::Name.build(unless_arg) ) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems