class Middleman::Sitemap::Extensions::Ignores::IgnoreManager

Class to handle managing ignores

def ignore(path=nil, &block)

Returns:
  • (void) -

Parameters:
  • path (String, Regexp) -- Path glob expression, or path regex
def ignore(path=nil, &block)
  if path.is_a? Regexp
    @ignored_callbacks << Proc.new {|p| p =~ path }
  elsif path.is_a? String
    path_clean = ::Middleman::Util.normalize_path(path)
    if path_clean.include?("*") # It's a glob
      @ignored_callbacks << Proc.new {|p| File.fnmatch(path_clean, p) }
    else
      # Add a specific-path ignore unless that path is already covered
      @ignored_callbacks << Proc.new {|p| p == path_clean } unless ignored?(path_clean)
    end
  elsif block_given?
    @ignored_callbacks << block
  end
end

def ignored?(path)

Returns:
  • (Boolean) -

Parameters:
  • path (String) --
def ignored?(path)
  path_clean = ::Middleman::Util.normalize_path(path)
  @ignored_callbacks.any? { |b| b.call(path_clean) }
end

def initialize(app)

def initialize(app)
  @app = app
  # Array of callbacks which can ass ignored
  @ignored_callbacks = []
end