Sha256: fef02c0428bd72d51168e79df66e383cd8a624eb527801ed346d5b4ee74807aa
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
module Site module Sitemap extend ActiveSupport::Concern def render_sitemap(allowed_locales = nil) allowed_locales ||= I18n.available_locales.map(&:to_s) @pages = Page.where("locale IN (?)", allowed_locales).sort do |p1, p2| (p1.path || "").split("/").size <=> (p2.path || "").split("/").size end erb = <<-eos <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <% @pages.each do |page| -%> <% if !page.resourceful? -%> <% begin -%> <% loc = polymorphic_url([:site, page.uid.split("#").last, page.locale].compact) -%> <url> <loc><%= loc %></loc> </url> <% rescue Exception => e -%> <% end -%> <% else -%> <% page.resource_class.where(:locale => page.locale).each do |resource| -%> <url> <loc><%= page_url_for(resource) -%></loc> <% if resource.respond_to?(:updated_at) -%> <lastmod><%= resource.updated_at.strftime("%F") -%></lastmod> <% end -%> </url> <% end -%> <% end -%> <% end -%> </urlset> eos render :inline => erb, :layout => false end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fullstack-cms-0.3.13 | app/support/sitemap.rb |
fullstack-cms-0.3.12 | app/support/sitemap.rb |
fullstack-cms-0.3.11 | app/support/sitemap.rb |