refinerycms-routes 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ xml.instruct!
2
+
3
+ xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
4
+
5
+ @locales.each do |locale|
6
+ ::I18n.locale = locale
7
+ Page.live.in_menu.includes(:parts).each do |page|
8
+ page_url = if page.routes.where(:locale => locale).any?
9
+ page_path = page.routes.where(:locale => locale).first.url
10
+ [request.protocol, request.host_with_port, "/#{page_path}"].join
11
+ # exclude sites that are external to our own domain.
12
+ elsif page.url.is_a?(Hash)
13
+ # This is how most pages work without being overriden by link_url
14
+ page.url.merge({:only_path => false})
15
+ elsif page.url.to_s !~ /^http/
16
+ # handle relative link_url addresses.
17
+ [request.protocol, request.host_with_port, page.url].join
18
+ end
19
+
20
+ # Add XML entry only if there is a valid page_url found above.
21
+ xml.url do
22
+ xml.loc url_for(page_url)
23
+ xml.lastmod page.updated_at.to_date
24
+ end if page_url.present? and page.show_in_menu?
25
+ end
26
+ end
27
+
28
+ end
@@ -12,7 +12,7 @@ module Refinery
12
12
  ::ApplicationController.helper(RouterHelper)
13
13
 
14
14
  Page.module_eval do
15
- has_many :routes, :dependent => :destroy
15
+ has_many :routes, :as => :target, :dependent => :destroy
16
16
  end
17
17
  end
18
18
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-routes
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 2
10
- version: 1.0.2
9
+ - 3
10
+ version: 1.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Charles Barbier
@@ -46,6 +46,7 @@ files:
46
46
  - app/views/admin/routes/edit.html.erb
47
47
  - app/views/admin/routes/index.html.erb
48
48
  - app/views/admin/routes/new.html.erb
49
+ - app/views/sitemap/index.xml.builder
49
50
  - db/migrate/1_create_routes.rb
50
51
  - db/seeds/routes.rb
51
52
  homepage: http://github.com/unixcharles/refinerycms-copywriting