Class: PagesCore::Sitemap

Inherits:
Object
  • Object
show all
Defined in:
lib/pages_core/sitemap.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Sitemap

Returns a new instance of Sitemap.

Yields:

  • (_self)

Yield Parameters:



9
10
11
12
# File 'lib/pages_core/sitemap.rb', line 9

def initialize(&)
  @entries = {}
  yield(self) if block_given?
end

Instance Attribute Details

#entriesObject (readonly)

Returns the value of attribute entries.



7
8
9
# File 'lib/pages_core/sitemap.rb', line 7

def entries
  @entries
end

Class Method Details

.register(url = nil, &block) ⇒ Object



15
16
17
18
# File 'lib/pages_core/sitemap.rb', line 15

def register(url = nil, &block)
  sitemaps << url unless url.nil?
  sitemaps << block unless block.nil?
end

.sitemapsObject



20
21
22
# File 'lib/pages_core/sitemap.rb', line 20

def sitemaps
  @sitemaps ||= []
end

Instance Method Details

#add(url, options = {}) ⇒ Object



25
26
27
# File 'lib/pages_core/sitemap.rb', line 25

def add(url, options = {})
  entries[url] = options
end

#to_xmlObject



29
30
31
32
33
34
35
36
37
# File 'lib/pages_core/sitemap.rb', line 29

def to_xml
  xml = Builder::XmlMarkup.new
  xml.instruct!
  xml.urlset(xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9") do |doc|
    entries.each do |url, opts|
      xml_entry(doc, url, opts)
    end
  end
end