aboutsummaryrefslogtreecommitdiffstats
path: root/spec/dummy/app/views/sitemap/index.xml.builder
diff options
context:
space:
mode:
authorJames Thompson <james.b.thompson@gmail.com>2012-03-14 11:40:16 +0200
committerJames Thompson <james.b.thompson@gmail.com>2012-03-14 11:40:16 +0200
commit56d7747f54e86993415b76c92e101608e5ea44e2 (patch)
tree025b7b37f50c4c291e7e676286e7767c40adb1f9 /spec/dummy/app/views/sitemap/index.xml.builder
downloadrefinerycms-pc_banners-56d7747f54e86993415b76c92e101608e5ea44e2.tar.gz
refinerycms-pc_banners-56d7747f54e86993415b76c92e101608e5ea44e2.tar.bz2
refinerycms-pc_banners-56d7747f54e86993415b76c92e101608e5ea44e2.zip
initial commit
Diffstat (limited to 'spec/dummy/app/views/sitemap/index.xml.builder')
-rw-r--r--spec/dummy/app/views/sitemap/index.xml.builder25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/dummy/app/views/sitemap/index.xml.builder b/spec/dummy/app/views/sitemap/index.xml.builder
new file mode 100644
index 0000000..8e89852
--- /dev/null
+++ b/spec/dummy/app/views/sitemap/index.xml.builder
@@ -0,0 +1,25 @@
+xml.instruct!
+
+xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
+
+ @locales.each do |locale|
+ ::I18n.locale = locale
+ ::Refinery::Page.live.in_menu.includes(:parts).each do |page|
+ # exclude sites that are external to our own domain.
+ page_url = if page.url.is_a?(Hash)
+ # This is how most pages work without being overriden by link_url
+ page.url.merge({:only_path => false})
+ elsif page.url.to_s !~ /^http/
+ # handle relative link_url addresses.
+ [request.protocol, request.host_with_port, page.url].join
+ end
+
+ # Add XML entry only if there is a valid page_url found above.
+ xml.url do
+ xml.loc url_for(page_url)
+ xml.lastmod page.updated_at.to_date
+ end if page_url.present? and page.show_in_menu?
+ end
+ end
+
+end