class Genit::Sitemap

Build an XML sitemap.

Public Class Methods

new(urls) click to toggle source

Public: Constructor.

urls - an Array of all the URLs to include in the sitemap.

# File lib/genit/documents/sitemap.rb, line 10
def initialize urls
  @builder = Sitemap.builder urls
end

Private Class Methods

build_loc_element(xml, elem) click to toggle source
# File lib/genit/documents/sitemap.rb, line 37
def self.build_loc_element xml, elem
  xml.url { xml.loc elem }
end
build_url_elements(xml, urls) click to toggle source
# File lib/genit/documents/sitemap.rb, line 33
def self.build_url_elements xml, urls
  urls.each { |elem| Sitemap.build_loc_element xml, elem }
end
build_urlset(xml, urls) click to toggle source
# File lib/genit/documents/sitemap.rb, line 27
def self.build_urlset xml, urls
  xml.urlset('xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9') do
    Sitemap.build_url_elements xml, urls
  end
end
builder(urls) click to toggle source
# File lib/genit/documents/sitemap.rb, line 23
def self.builder urls
  Nokogiri::XML::Builder.new { |xml| Sitemap.build_urlset xml, urls }
end

Public Instance Methods

get() click to toggle source

Public: Get the sitemap

Returns the sitemap as a String.

# File lib/genit/documents/sitemap.rb, line 17
def get
  @builder.to_xml
end