class Mustermann::FileUtils::GlobPattern

AST Translator to turn Mustermann patterns into glob patterns. @!visibility private

Constants

ESCAPE

Character that need to be escaped in glob patterns. @!visibility private

Public Class Methods

generate(pattern) click to toggle source

Turn a Mustermann pattern into glob pattern. @param [#to_glob, to_ast, Object] pattern the object to turn into a glob pattern. @return [String] the glob pattern @!visibility private

# File lib/mustermann/file_utils/glob_pattern.rb, line 17
def self.generate(pattern)
  return pattern.to_glob               if pattern.respond_to? :to_glob
  return new.translate(pattern.to_ast) if pattern.respond_to? :to_ast
  return "**/*" unless pattern.is_a? Mustermann::Composite
  "{#{pattern.patterns.map { |p| generate(p) }.join(',')}}"
end

Public Instance Methods

escape(char) click to toggle source

Escape with a slash rather than URI escaping. @!visibility private

# File lib/mustermann/file_utils/glob_pattern.rb, line 35
def escape(char)
  ESCAPE.include?(char) ? "\\#{char}" : char
end