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