class Middleman::Sitemap::Extensions::Redirects::RedirectManager

Manages the list of proxy configurations and manipulates the sitemap to include new resources based on those configurations

Public Class Methods

new(app) click to toggle source
# File lib/middleman-core/sitemap/extensions/redirects.rb, line 29
def initialize(app)
  @app = app
  @redirects = {}
end

Public Instance Methods

create_redirect(path, opts={}, &block) click to toggle source

Setup a redirect from a path to a target @param [String] path @param [Hash] opts The :to value gives a target path

# File lib/middleman-core/sitemap/extensions/redirects.rb, line 37
def create_redirect(path, opts={}, &block)
  opts[:template] = block if block_given?

  @redirects[path] = opts

  @app.sitemap.rebuild_resource_list!(:added_redirect)
end
manipulate_resource_list(resources) click to toggle source

Update the main sitemap resource list @return [void]

# File lib/middleman-core/sitemap/extensions/redirects.rb, line 47
def manipulate_resource_list(resources)
  resources + @redirects.map do |path, opts|
    r = RedirectResource.new(
      @app.sitemap,
      path,
      opts[:to]
    )
    r.output = opts[:template] if opts[:template]
    r
  end
end