dynamic_sitemaps 1.0.8 → 2.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +17 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +106 -0
  6. data/Rakefile +10 -0
  7. data/dynamic_sitemaps.gemspec +22 -0
  8. data/lib/dynamic_sitemaps.rb +89 -4
  9. data/lib/dynamic_sitemaps/generator.rb +59 -0
  10. data/lib/dynamic_sitemaps/index_generator.rb +47 -0
  11. data/lib/dynamic_sitemaps/pinger.rb +35 -0
  12. data/lib/dynamic_sitemaps/rails/engine.rb +9 -0
  13. data/lib/dynamic_sitemaps/sitemap.rb +40 -5
  14. data/lib/dynamic_sitemaps/sitemap_generator.rb +153 -0
  15. data/lib/dynamic_sitemaps/sitemap_result.rb +24 -0
  16. data/lib/dynamic_sitemaps/tasks/sitemap.rake +12 -0
  17. data/lib/dynamic_sitemaps/version.rb +3 -0
  18. data/lib/generators/dynamic_sitemaps/USAGE +8 -0
  19. data/lib/generators/dynamic_sitemaps/install_generator.rb +9 -0
  20. data/lib/generators/dynamic_sitemaps/templates/config.rb +7 -0
  21. data/test/dummy/README.rdoc +261 -0
  22. data/test/dummy/Rakefile +7 -0
  23. data/test/dummy/app/assets/javascripts/application.js +15 -0
  24. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  25. data/test/dummy/app/controllers/application_controller.rb +3 -0
  26. data/test/dummy/app/helpers/application_helper.rb +2 -0
  27. data/test/dummy/app/mailers/.gitkeep +0 -0
  28. data/test/dummy/app/models/.gitkeep +0 -0
  29. data/test/dummy/app/models/product.rb +3 -0
  30. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/test/dummy/config.ru +4 -0
  32. data/test/dummy/config/application.rb +59 -0
  33. data/test/dummy/config/boot.rb +10 -0
  34. data/test/dummy/config/database.yml +25 -0
  35. data/test/dummy/config/environment.rb +5 -0
  36. data/test/dummy/config/environments/development.rb +37 -0
  37. data/test/dummy/config/environments/production.rb +67 -0
  38. data/test/dummy/config/environments/test.rb +37 -0
  39. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/test/dummy/config/initializers/inflections.rb +15 -0
  41. data/test/dummy/config/initializers/mime_types.rb +5 -0
  42. data/test/dummy/config/initializers/secret_token.rb +7 -0
  43. data/test/dummy/config/initializers/session_store.rb +8 -0
  44. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  45. data/test/dummy/config/locales/en.yml +5 -0
  46. data/test/dummy/config/routes.rb +58 -0
  47. data/test/dummy/db/development.sqlite3 +0 -0
  48. data/test/dummy/db/migrate/20130211190343_create_products.rb +12 -0
  49. data/test/dummy/db/schema.rb +25 -0
  50. data/test/dummy/db/test.sqlite3 +0 -0
  51. data/test/dummy/lib/assets/.gitkeep +0 -0
  52. data/test/dummy/log/.gitkeep +0 -0
  53. data/test/dummy/log/development.log +902 -0
  54. data/test/dummy/log/test.log +10 -0
  55. data/test/dummy/public/404.html +26 -0
  56. data/test/dummy/public/422.html +26 -0
  57. data/test/dummy/public/500.html +25 -0
  58. data/test/dummy/public/favicon.ico +0 -0
  59. data/test/dummy/script/rails +6 -0
  60. data/test/dummy/test/fixtures/products.yml +9 -0
  61. data/test/dummy/test/unit/product_test.rb +7 -0
  62. data/test/dynamic_sitemaps_test.rb +7 -0
  63. data/test/test_helper.rb +15 -0
  64. metadata +160 -56
  65. data/app/controllers/sitemaps_controller.rb +0 -92
  66. data/app/views/sitemaps/index.builder +0 -11
  67. data/app/views/sitemaps/sitemap.builder +0 -20
  68. data/lib/dynamic_sitemaps/engine.rb +0 -4
  69. data/lib/dynamic_sitemaps/page.rb +0 -21
  70. data/lib/dynamic_sitemaps/url.rb +0 -9
  71. data/lib/generators/dynamic_sitemaps/dynamic_sitemaps_generator.rb +0 -11
  72. data/lib/generators/dynamic_sitemaps/templates/initializer.rb +0 -28
@@ -1,11 +0,0 @@
1
- xml.instruct!
2
- xml.sitemapindex "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
3
- @pages.each_with_index do |page, i|
4
- xml.sitemap do
5
- xml.loc url_for(:host => request.host, :page => i + 1)
6
- if page.last_mod
7
- xml.lastmod page.last_mod.to_datetime.strftime("%Y-%m-%dT%H:%M:%S%:z")
8
- end
9
- end
10
- end
11
- end
@@ -1,20 +0,0 @@
1
- xml.instruct!
2
- xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
3
- @urls.each do |url|
4
- xml.url do
5
- xml.loc url.loc
6
-
7
- if url.last_mod
8
- xml.lastmod url.last_mod.to_datetime.strftime("%Y-%m-%dT%H:%M:%S%:z")
9
- end
10
-
11
- if url.change_freq
12
- xml.changefreq url.change_freq
13
- end
14
-
15
- if url.priority
16
- xml.priority url.priority
17
- end
18
- end
19
- end
20
- end
@@ -1,4 +0,0 @@
1
- module DynamicSitemaps
2
- class Engine < Rails::Engine
3
- end
4
- end
@@ -1,21 +0,0 @@
1
- module DynamicSitemaps
2
- class Page
3
- def urls
4
- @urls ||= []
5
- end
6
-
7
- def last_mod
8
- mod = nil
9
-
10
- urls.each do |url|
11
- unless url.last_mod.nil?
12
- if mod.nil? || url.last_mod > mod
13
- mod = url.last_mod
14
- end
15
- end
16
- end
17
-
18
- mod
19
- end
20
- end
21
- end
@@ -1,9 +0,0 @@
1
- module DynamicSitemaps
2
- class Url
3
- attr_accessor :loc, :last_mod, :change_freq, :priority
4
-
5
- def initialize(loc, options = {})
6
- @loc, @last_mod, @change_freq, @priority = loc, options[:last_mod], options[:change_freq], options[:priority]
7
- end
8
- end
9
- end
@@ -1,11 +0,0 @@
1
- class DynamicSitemapsGenerator < Rails::Generators::NamedBase
2
- source_root File.expand_path('../templates', __FILE__)
3
-
4
- def create_initializer
5
- copy_file "initializer.rb", "config/initializers/#{file_name}.rb"
6
- end
7
-
8
- def create_route
9
- route "match 'sitemap.xml' => 'sitemaps#sitemap'"
10
- end
11
- end
@@ -1,28 +0,0 @@
1
- DynamicSitemaps::Sitemap.draw do
2
-
3
- # default per_page is 50.000 which is the specified maximum.
4
- # per_page 10
5
-
6
- # url root_url, :last_mod => DateTime.now, :change_freq => 'daily', :priority => 1
7
-
8
- # new_page!
9
-
10
- # Product.all.each do |product|
11
- # url product_url(product), :last_mod => product.updated_at, :change_freq => 'monthly', :priority => 0.8
12
- # end
13
-
14
- # new_page!
15
-
16
- # autogenerate :products, :categories,
17
- # :last_mod => :updated_at,
18
- # :change_freq => 'monthly',
19
- # :priority => 0.8
20
-
21
- # new_page!
22
-
23
- # autogenerate :users,
24
- # :last_mod => :updated_at,
25
- # :change_freq => lambda { |user| user.very_active? ? 'weekly' : 'monthly' },
26
- # :priority => 0.5
27
-
28
- end