sitemap_generator 0.2.3 → 0.2.4

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 (45) hide show
  1. data/README.md +4 -9
  2. data/Rakefile +68 -17
  3. data/VERSION +1 -1
  4. data/lib/sitemap_generator.rb +10 -6
  5. data/lib/sitemap_generator/link_set.rb +167 -14
  6. data/rails/install.rb +1 -11
  7. data/rails/uninstall.rb +1 -3
  8. data/tasks/sitemap_generator_tasks.rake +9 -79
  9. metadata +17 -43
  10. data/test/mock_app/app/controllers/application_controller.rb +0 -10
  11. data/test/mock_app/app/controllers/contents_controller.rb +0 -85
  12. data/test/mock_app/app/models/content.rb +0 -2
  13. data/test/mock_app/config/boot.rb +0 -110
  14. data/test/mock_app/config/environment.rb +0 -41
  15. data/test/mock_app/config/environments/development.rb +0 -17
  16. data/test/mock_app/config/environments/production.rb +0 -28
  17. data/test/mock_app/config/environments/test.rb +0 -28
  18. data/test/mock_app/config/initializers/backtrace_silencers.rb +0 -7
  19. data/test/mock_app/config/initializers/inflections.rb +0 -10
  20. data/test/mock_app/config/initializers/mime_types.rb +0 -5
  21. data/test/mock_app/config/initializers/new_rails_defaults.rb +0 -19
  22. data/test/mock_app/config/initializers/session_store.rb +0 -15
  23. data/test/mock_app/config/routes.rb +0 -45
  24. data/test/mock_app/config/sitemap.rb +0 -13
  25. data/test/mock_app/db/migrate/20090826121911_create_contents.rb +0 -12
  26. data/test/mock_app/db/schema.rb +0 -20
  27. data/test/mock_app_gem/app/controllers/application_controller.rb +0 -10
  28. data/test/mock_app_gem/app/controllers/contents_controller.rb +0 -85
  29. data/test/mock_app_gem/app/models/content.rb +0 -2
  30. data/test/mock_app_gem/config/boot.rb +0 -110
  31. data/test/mock_app_gem/config/environment.rb +0 -42
  32. data/test/mock_app_gem/config/environments/development.rb +0 -17
  33. data/test/mock_app_gem/config/environments/production.rb +0 -28
  34. data/test/mock_app_gem/config/environments/test.rb +0 -28
  35. data/test/mock_app_gem/config/initializers/backtrace_silencers.rb +0 -7
  36. data/test/mock_app_gem/config/initializers/inflections.rb +0 -10
  37. data/test/mock_app_gem/config/initializers/mime_types.rb +0 -5
  38. data/test/mock_app_gem/config/initializers/new_rails_defaults.rb +0 -19
  39. data/test/mock_app_gem/config/initializers/session_store.rb +0 -15
  40. data/test/mock_app_gem/config/routes.rb +0 -45
  41. data/test/mock_app_gem/config/sitemap.rb +0 -13
  42. data/test/mock_app_gem/db/migrate/20090826121911_create_contents.rb +0 -12
  43. data/test/mock_app_gem/db/schema.rb +0 -20
  44. data/test/sitemap_generator_test.rb +0 -83
  45. data/test/test_helper.rb +0 -12
@@ -1,10 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new inflection rules using the following format
4
- # (all these examples are active by default):
5
- # ActiveSupport::Inflector.inflections do |inflect|
6
- # inflect.plural /^(ox)$/i, '\1en'
7
- # inflect.singular /^(ox)en/i, '\1'
8
- # inflect.irregular 'person', 'people'
9
- # inflect.uncountable %w( fish sheep )
10
- # end
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
@@ -1,19 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # These settings change the behavior of Rails 2 apps and will be defaults
4
- # for Rails 3. You can remove this initializer when Rails 3 is released.
5
-
6
- if defined?(ActiveRecord)
7
- # Include Active Record class name as root for JSON serialized output.
8
- ActiveRecord::Base.include_root_in_json = true
9
-
10
- # Store the full class name (including module namespace) in STI type column.
11
- ActiveRecord::Base.store_full_sti_class = true
12
- end
13
-
14
- # Use ISO 8601 format for JSON serialized times and dates.
15
- ActiveSupport.use_standard_json_time_format = true
16
-
17
- # Don't escape HTML entities in JSON, leave that for the #json_escape helper.
18
- # if you're including raw json in an HTML page.
19
- ActiveSupport.escape_html_entities_in_json = false
@@ -1,15 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying cookie session data integrity.
4
- # If you change this key, all old sessions will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- ActionController::Base.session = {
8
- :key => '_mock_app_session',
9
- :secret => '4211cebf6f8890d6f058b632c6f31efd04cff62520622a3949630345c11cd37d5b0ee83ad0e21d52898cd0a3f0758205b374ddfd1f1a9a397024d81555e39511'
10
- }
11
-
12
- # Use the database for sessions instead of the cookie-based default,
13
- # which shouldn't be used to store highly confidential information
14
- # (create the session table with "rake db:sessions:create")
15
- # ActionController::Base.session_store = :active_record_store
@@ -1,45 +0,0 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- map.resources :contents
3
-
4
- # The priority is based upon order of creation: first created -> highest priority.
5
-
6
- # Sample of regular route:
7
- # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
8
- # Keep in mind you can assign values other than :controller and :action
9
-
10
- # Sample of named route:
11
- # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
12
- # This route can be invoked with purchase_url(:id => product.id)
13
-
14
- # Sample resource route (maps HTTP verbs to controller actions automatically):
15
- # map.resources :products
16
-
17
- # Sample resource route with options:
18
- # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
19
-
20
- # Sample resource route with sub-resources:
21
- # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
22
-
23
- # Sample resource route with more complex sub-resources
24
- # map.resources :products do |products|
25
- # products.resources :comments
26
- # products.resources :sales, :collection => { :recent => :get }
27
- # end
28
-
29
- # Sample resource route within a namespace:
30
- # map.namespace :admin do |admin|
31
- # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
32
- # admin.resources :products
33
- # end
34
-
35
- # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
36
- # map.root :controller => "welcome"
37
-
38
- # See how all your routes lay out with "rake routes"
39
-
40
- # Install the default routes as the lowest priority.
41
- # Note: These default routes make all actions in every controller accessible via GET requests. You should
42
- # consider removing or commenting them out if you're using named routes and resources.
43
- map.connect ':controller/:action/:id'
44
- map.connect ':controller/:action/:id.:format'
45
- end
@@ -1,13 +0,0 @@
1
- SitemapGenerator::Sitemap.default_host = "http://www.example.com"
2
- SitemapGenerator::Sitemap.yahoo_app_id = false
3
-
4
- SitemapGenerator::Sitemap.add_links do |sitemap|
5
- sitemap.add contents_path, :priority => 0.7, :changefreq => 'daily'
6
-
7
- # add all individual articles
8
- Content.find(:all).each do |c|
9
- sitemap.add content_path(c), :lastmod => c.updated_at
10
- end
11
-
12
- sitemap.add "/merchant_path", :host => "https://www.example.com"
13
- end
@@ -1,12 +0,0 @@
1
- class CreateContents < ActiveRecord::Migration
2
- def self.up
3
- create_table :contents do |t|
4
- t.string :title
5
- t.timestamps
6
- end
7
- end
8
-
9
- def self.down
10
- drop_table :contents
11
- end
12
- end
@@ -1,20 +0,0 @@
1
- # This file is auto-generated from the current state of the database. Instead of editing this file,
2
- # please use the migrations feature of Active Record to incrementally modify your database, and
3
- # then regenerate this schema definition.
4
- #
5
- # Note that this schema.rb definition is the authoritative source for your database schema. If you need
6
- # to create the application database on another system, you should be using db:schema:load, not running
7
- # all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations
8
- # you'll amass, the slower it'll run and the greater likelihood for issues).
9
- #
10
- # It's strongly recommended to check this file into your version control system.
11
-
12
- ActiveRecord::Schema.define(:version => 20090826121911) do
13
-
14
- create_table "contents", :force => true do |t|
15
- t.string "title"
16
- t.datetime "created_at"
17
- t.datetime "updated_at"
18
- end
19
-
20
- end
@@ -1,83 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
-
3
- class SitemapGeneratorTest < Test::Unit::TestCase
4
- context "SitemapGenerator Rake Tasks" do
5
-
6
- context "when running the clean task" do
7
- setup do
8
- copy_sitemap_file_to_rails_app
9
- FileUtils.touch(File.join(RAILS_ROOT, '/public/sitemap_index.xml.gz'))
10
- Rake::Task['sitemap:clean'].invoke
11
- end
12
-
13
- should "the sitemap xml files be deleted" do
14
- assert !File.exists?(File.join(RAILS_ROOT, '/public/sitemap_index.xml.gz'))
15
- end
16
- end
17
-
18
- # For some reason I just couldn't get this to work! It seemed to delete the
19
- # file before calling the second *should* assertion.
20
- context "when installed to a clean Rails app" do
21
- setup do
22
- #delete_sitemap_file_from_rails_app
23
- #Rake::Task['sitemap:install'].invoke
24
- end
25
-
26
- should "a sitemap.rb is created" do
27
- #assert File.exists?(File.join(RAILS_ROOT, 'config/sitemap.rb'))
28
- end
29
-
30
- should "the sitemap.rb file matches the template" do
31
- #assert identical_files?(File.join(RAILS_ROOT, 'config/sitemap.rb'), SitemapGenerator.templates[:sitemap_sample])
32
- end
33
- end
34
-
35
- context "when installed multiple times" do
36
- setup do
37
- copy_sitemap_file_to_rails_app
38
- Rake::Task['sitemap:install'].invoke
39
- end
40
-
41
- should "not overwrite existing sitemap.rb file" do
42
- assert identical_files?(File.join(File.dirname(__FILE__), '/sitemap.file'), File.join(RAILS_ROOT, '/config/sitemap.rb'))
43
- end
44
- end
45
-
46
- context "when sitemap generated" do
47
- setup do
48
- copy_sitemap_file_to_rails_app
49
- Rake::Task['sitemap:refresh'].invoke
50
- end
51
-
52
- should "not create sitemap xml files" do
53
- assert File.exists?(File.join(RAILS_ROOT, '/public/sitemap_index.xml.gz'))
54
- assert File.exists?(File.join(RAILS_ROOT, '/public/sitemap1.xml.gz'))
55
- end
56
- end
57
- end
58
-
59
- context "SitemapGenerator library" do
60
- setup do
61
- copy_sitemap_file_to_rails_app
62
- end
63
-
64
- should "be have x elements" do
65
- assert_equal 14, SitemapGenerator::Sitemap.links.size
66
- end
67
- end
68
-
69
- def copy_sitemap_file_to_rails_app
70
- FileUtils.cp(File.join(File.dirname(__FILE__), '/sitemap.file'), File.join(RAILS_ROOT, '/config/sitemap.rb'))
71
- end
72
-
73
- def delete_sitemap_file_from_rails_app
74
- FileUtils.remove(File.join(RAILS_ROOT, '/config/sitemap.rb')) rescue nil
75
- end
76
-
77
- def identical_files?(first, second)
78
- first = open(first, 'r').read
79
- second = open(second, 'r').read
80
- first == second
81
- end
82
- end
83
-
@@ -1,12 +0,0 @@
1
- ENV['RAILS_ENV'] = 'test'
2
- ENV['RAILS_ROOT'] ||= File.join(File.dirname(__FILE__), 'mock_app')
3
-
4
- require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config', 'environment.rb'))
5
-
6
- require 'fileutils'
7
- require 'rake'
8
- require 'shoulda'
9
-
10
- require 'rake/testtask'
11
- require 'rake/rdoctask'
12
- require 'tasks/rails'