module Utils::Patterns
def choose(argument, pattern_opts, default: ?f)
def choose(argument, pattern_opts, default: ?f) case argument when /^r/, (default == ?r ? nil : :not) RegexpPattern.new(pattern_opts) when /^f/, (default == ?f ? nil : :not) FuzzyPattern.new(pattern_opts) else raise ArgumentError, 'argument -p has to be f=fuzzy or r=regexp' end end