Class: Postnhost::SitemapBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/postnhost/sitemap_builder.rb

Constant Summary collapse

SITEMAP_NAMESPACE =
"http://www.sitemaps.org/schemas/sitemap/0.9"
XHTML_NAMESPACE =
"http://www.w3.org/1999/xhtml"
CACHE_VERSION =
"sitemap_xml_v12"

Instance Method Summary collapse

Constructor Details

#initialize(request:, site_url:) ⇒ SitemapBuilder

Returns a new instance of SitemapBuilder.



9
10
11
12
# File 'app/services/postnhost/sitemap_builder.rb', line 9

def initialize(request:, site_url:)
  @request = request
  @site_url = site_url
end

Instance Method Details

#cache_keyObject



14
15
16
17
18
19
20
21
22
# File 'app/services/postnhost/sitemap_builder.rb', line 14

def cache_key
  [
    CACHE_VERSION,
    site_url,
    request.script_name.presence,
    Postnhost::PublicSiteRevision.current.revision,
    static_pages_signature
  ].compact.join(":")
end

#callObject



24
25
26
27
28
# File 'app/services/postnhost/sitemap_builder.rb', line 24

def call
  doc = Nokogiri::XML(build_xml_string)
  pretty = doc.to_xml(indent: 2, indent_text: " ")
  insert_stylesheet_pi(pretty)
end