class Transformers::Util

Public Class Methods

apply_transformers(uris, transformers) click to toggle source

Public: Apply URI transformers to a Hash.

uris - Set (Array|Hash) of URIs to be filtered. index - Current index base_uri - Base URI to test against transformers - transformers to reduce set of uris

Returns a filtered uris Hash

# File lib/sitemap/filters/transformers.rb, line 19
def self.apply_transformers(uris, transformers)

  # Clone transformers so we retain the 'functional' style of no side-effects
  transformers_clone = transformers.clone

  # Check for terminating case
  if (!uris.nil? && uris.length > 0)

    if !transformers_clone.nil? && transformers_clone.length > 0

      # Pop a transformer and apply it recursively to the result of the next transformer
      t = transformers_clone.shift
      uris = apply_transformers(uris, transformers_clone)

      uris = uris.map do |k,v|
        t.transform(k)
      end
    end
  end

  uris
end
get_all_transformers() click to toggle source

Public: Get all known transformers

# File lib/sitemap/filters/transformers.rb, line 45
def self.get_all_transformers
  return [Transformers::URIQueryStringTransformer.new]
end