ar_sitemapper 1.0.0

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 (68) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +9 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/Changelog.rdoc +28 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +98 -0
  8. data/LICENSE +24 -0
  9. data/README.rdoc +176 -0
  10. data/Rakefile +23 -0
  11. data/ar_sitemapper.gemspec +26 -0
  12. data/install.rb +5 -0
  13. data/lib/ar_sitemapper.rb +11 -0
  14. data/lib/sitemapper/active_record/builder.rb +54 -0
  15. data/lib/sitemapper/engine.rb +26 -0
  16. data/lib/sitemapper/generator.rb +100 -0
  17. data/lib/sitemapper/index.rb +84 -0
  18. data/lib/sitemapper/loader.rb +39 -0
  19. data/lib/sitemapper/pinger.rb +21 -0
  20. data/lib/sitemapper/sitemap.rb +22 -0
  21. data/lib/sitemapper/urlset.rb +76 -0
  22. data/lib/sitemapper/version.rb +5 -0
  23. data/lib/tasks/sitemapper.rake +26 -0
  24. data/templates/sitemaps.yml +34 -0
  25. data/test/dummy/README.rdoc +261 -0
  26. data/test/dummy/Rakefile +7 -0
  27. data/test/dummy/app/assets/javascripts/application.js +15 -0
  28. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  29. data/test/dummy/app/controllers/application_controller.rb +3 -0
  30. data/test/dummy/app/helpers/application_helper.rb +2 -0
  31. data/test/dummy/app/mailers/.gitkeep +0 -0
  32. data/test/dummy/app/models/.gitkeep +0 -0
  33. data/test/dummy/app/views/layouts/application.html.erb +24 -0
  34. data/test/dummy/config.ru +4 -0
  35. data/test/dummy/config/application.rb +50 -0
  36. data/test/dummy/config/boot.rb +10 -0
  37. data/test/dummy/config/database.yml +25 -0
  38. data/test/dummy/config/environment.rb +5 -0
  39. data/test/dummy/config/environments/development.rb +24 -0
  40. data/test/dummy/config/environments/production.rb +69 -0
  41. data/test/dummy/config/environments/test.rb +37 -0
  42. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  43. data/test/dummy/config/initializers/inflections.rb +15 -0
  44. data/test/dummy/config/initializers/mime_types.rb +5 -0
  45. data/test/dummy/config/initializers/secret_token.rb +7 -0
  46. data/test/dummy/config/initializers/session_store.rb +8 -0
  47. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/test/dummy/config/locales/en.yml +5 -0
  49. data/test/dummy/config/routes.rb +2 -0
  50. data/test/dummy/config/sitemaps.yml +36 -0
  51. data/test/dummy/db/schema.rb +74 -0
  52. data/test/dummy/lib/assets/.gitkeep +0 -0
  53. data/test/dummy/log/.gitkeep +0 -0
  54. data/test/dummy/public/404.html +26 -0
  55. data/test/dummy/public/422.html +26 -0
  56. data/test/dummy/public/500.html +25 -0
  57. data/test/dummy/public/favicon.ico +0 -0
  58. data/test/dummy/script/rails +6 -0
  59. data/test/support/app/models/foo_bar.rb +24 -0
  60. data/test/test_helper.rb +13 -0
  61. data/test/unit/engine_test.rb +19 -0
  62. data/test/unit/generator_test.rb +14 -0
  63. data/test/unit/loader_test.rb +21 -0
  64. data/test/unit/map_test.rb +9 -0
  65. data/test/unit/pinger_test.rb +11 -0
  66. data/test/unit/sitemapper_test.rb +22 -0
  67. data/test/unit/urlset_test.rb +9 -0
  68. metadata +221 -0
@@ -0,0 +1,14 @@
1
+ require File.join File.dirname(__FILE__), '..', 'test_helper'
2
+
3
+ class GeneratorTest < Test::Unit::TestCase
4
+
5
+ def test_should_return_valid_configure_options
6
+ assert_equal [:file, :filename, :gzip, :xmlns].map(&:to_s).sort, AegisNet::Sitemapper::Generator::VALID_GENERATOR_OPTIONS.map(&:to_s).sort
7
+ end
8
+
9
+ def test_should_return_default_filename
10
+ config = AegisNet::Sitemapper::Loader.load_config
11
+ assert_equal "#{config[:local_path]}/sitemap_some_classes.xml.gz", AegisNet::Sitemapper::Generator::default_filename("SomeClass")
12
+ end
13
+
14
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ describe AegisNet::Sitemapper::Loader do
4
+
5
+ it 'loads and stores the default config' do
6
+ config = AegisNet::Sitemapper::Loader.load_config
7
+ config.wont_be_nil
8
+ config.must_be_kind_of HashWithIndifferentAccess
9
+ AegisNet::Sitemapper.configuration.must_equal config
10
+ end
11
+
12
+ it 'returns a proc' do
13
+ proc_eval = AegisNet::Sitemapper::Loader.proc_loader "Proc.new { 'foo' }"
14
+ proc_eval.must_equal 'foo'
15
+
16
+ proc_str = "Proc.new { |a,b| 'foo ' << a << ', bar ' << b}"
17
+ proc_eval = AegisNet::Sitemapper::Loader.proc_loader(proc_str, "hello", "world")
18
+ proc_eval.must_equal 'foo hello, bar world'
19
+ end
20
+
21
+ end
@@ -0,0 +1,9 @@
1
+ require File.join File.dirname(__FILE__), '..', 'test_helper'
2
+
3
+ class MapTest < Test::Unit::TestCase
4
+
5
+ def test_should_have_custom_setters
6
+ obj = AegisNet::Sitemapper::Sitemap.new
7
+ [:changefreq, :loc, :priority].each { |attr| assert_respond_to obj, attr }
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ require File.join File.dirname(__FILE__), '..', 'test_helper'
2
+
3
+ class PingerTest < Test::Unit::TestCase
4
+
5
+ def test_should_ping_remote_host
6
+ config = AegisNet::Sitemapper::Loader.load_config
7
+ pings = config[:pings]
8
+ Net::HTTP.expects(:get_response).times(pings.size).returns(mock())
9
+ AegisNet::Sitemapper::Pinger.ping!
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ require 'test_helper'
2
+
3
+ describe AegisNet::Sitemapper do
4
+ it 'stores its sitemap yaml config file' do
5
+ AegisNet::Sitemapper.must_respond_to 'sitemap_file'
6
+ AegisNet::Sitemapper.must_respond_to 'sitemap_file='
7
+ end
8
+
9
+ it 'can be configured with a block' do
10
+ AegisNet::Sitemapper.must_respond_to 'configure'
11
+ yielded_to = nil
12
+ AegisNet::Sitemapper.configure do |config|
13
+ yielded_to = config
14
+ end
15
+ yielded_to.must_equal AegisNet::Sitemapper
16
+ end
17
+
18
+ it 'can store the parsed config file' do
19
+ AegisNet::Sitemapper.must_respond_to 'configuration'
20
+ AegisNet::Sitemapper.must_respond_to 'configuration='
21
+ end
22
+ end
@@ -0,0 +1,9 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UrlsetTest < Test::Unit::TestCase
4
+
5
+ def test_should_extend_sitemap
6
+ assert AegisNet::Sitemapper::Urlset.new.is_a? AegisNet::Sitemapper::Sitemap
7
+ end
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ar_sitemapper
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Carsten Zimmermann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ - - <
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: sqlite3
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: mocha
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rails
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ - - <
69
+ - !ruby/object:Gem::Version
70
+ version: '4.0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '3.0'
78
+ - - <
79
+ - !ruby/object:Gem::Version
80
+ version: '4.0'
81
+ description: Faciliates generating static sitemap XML files from ActiveRecord
82
+ email:
83
+ - cz@aegisnet.de
84
+ executables: []
85
+ extensions: []
86
+ extra_rdoc_files: []
87
+ files:
88
+ - .gitignore
89
+ - .ruby-gemset
90
+ - .ruby-version
91
+ - Changelog.rdoc
92
+ - Gemfile
93
+ - Gemfile.lock
94
+ - LICENSE
95
+ - README.rdoc
96
+ - Rakefile
97
+ - ar_sitemapper.gemspec
98
+ - install.rb
99
+ - lib/ar_sitemapper.rb
100
+ - lib/sitemapper/active_record/builder.rb
101
+ - lib/sitemapper/engine.rb
102
+ - lib/sitemapper/generator.rb
103
+ - lib/sitemapper/index.rb
104
+ - lib/sitemapper/loader.rb
105
+ - lib/sitemapper/pinger.rb
106
+ - lib/sitemapper/sitemap.rb
107
+ - lib/sitemapper/urlset.rb
108
+ - lib/sitemapper/version.rb
109
+ - lib/tasks/sitemapper.rake
110
+ - templates/sitemaps.yml
111
+ - test/dummy/README.rdoc
112
+ - test/dummy/Rakefile
113
+ - test/dummy/app/assets/javascripts/application.js
114
+ - test/dummy/app/assets/stylesheets/application.css
115
+ - test/dummy/app/controllers/application_controller.rb
116
+ - test/dummy/app/helpers/application_helper.rb
117
+ - test/dummy/app/mailers/.gitkeep
118
+ - test/dummy/app/models/.gitkeep
119
+ - test/dummy/app/views/layouts/application.html.erb
120
+ - test/dummy/config.ru
121
+ - test/dummy/config/application.rb
122
+ - test/dummy/config/boot.rb
123
+ - test/dummy/config/database.yml
124
+ - test/dummy/config/environment.rb
125
+ - test/dummy/config/environments/development.rb
126
+ - test/dummy/config/environments/production.rb
127
+ - test/dummy/config/environments/test.rb
128
+ - test/dummy/config/initializers/backtrace_silencers.rb
129
+ - test/dummy/config/initializers/inflections.rb
130
+ - test/dummy/config/initializers/mime_types.rb
131
+ - test/dummy/config/initializers/secret_token.rb
132
+ - test/dummy/config/initializers/session_store.rb
133
+ - test/dummy/config/initializers/wrap_parameters.rb
134
+ - test/dummy/config/locales/en.yml
135
+ - test/dummy/config/routes.rb
136
+ - test/dummy/config/sitemaps.yml
137
+ - test/dummy/db/schema.rb
138
+ - test/dummy/lib/assets/.gitkeep
139
+ - test/dummy/log/.gitkeep
140
+ - test/dummy/public/404.html
141
+ - test/dummy/public/422.html
142
+ - test/dummy/public/500.html
143
+ - test/dummy/public/favicon.ico
144
+ - test/dummy/script/rails
145
+ - test/support/app/models/foo_bar.rb
146
+ - test/test_helper.rb
147
+ - test/unit/engine_test.rb
148
+ - test/unit/generator_test.rb
149
+ - test/unit/loader_test.rb
150
+ - test/unit/map_test.rb
151
+ - test/unit/pinger_test.rb
152
+ - test/unit/sitemapper_test.rb
153
+ - test/unit/urlset_test.rb
154
+ homepage: ''
155
+ licenses:
156
+ - BSD 3-Clause
157
+ metadata: {}
158
+ post_install_message:
159
+ rdoc_options: []
160
+ require_paths:
161
+ - lib
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ! '>='
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ requirements: []
173
+ rubyforge_project:
174
+ rubygems_version: 2.0.7
175
+ signing_key:
176
+ specification_version: 4
177
+ summary: Faciliates generating static sitemap XML files from ActiveRecord
178
+ test_files:
179
+ - test/dummy/README.rdoc
180
+ - test/dummy/Rakefile
181
+ - test/dummy/app/assets/javascripts/application.js
182
+ - test/dummy/app/assets/stylesheets/application.css
183
+ - test/dummy/app/controllers/application_controller.rb
184
+ - test/dummy/app/helpers/application_helper.rb
185
+ - test/dummy/app/mailers/.gitkeep
186
+ - test/dummy/app/models/.gitkeep
187
+ - test/dummy/app/views/layouts/application.html.erb
188
+ - test/dummy/config.ru
189
+ - test/dummy/config/application.rb
190
+ - test/dummy/config/boot.rb
191
+ - test/dummy/config/database.yml
192
+ - test/dummy/config/environment.rb
193
+ - test/dummy/config/environments/development.rb
194
+ - test/dummy/config/environments/production.rb
195
+ - test/dummy/config/environments/test.rb
196
+ - test/dummy/config/initializers/backtrace_silencers.rb
197
+ - test/dummy/config/initializers/inflections.rb
198
+ - test/dummy/config/initializers/mime_types.rb
199
+ - test/dummy/config/initializers/secret_token.rb
200
+ - test/dummy/config/initializers/session_store.rb
201
+ - test/dummy/config/initializers/wrap_parameters.rb
202
+ - test/dummy/config/locales/en.yml
203
+ - test/dummy/config/routes.rb
204
+ - test/dummy/config/sitemaps.yml
205
+ - test/dummy/db/schema.rb
206
+ - test/dummy/lib/assets/.gitkeep
207
+ - test/dummy/log/.gitkeep
208
+ - test/dummy/public/404.html
209
+ - test/dummy/public/422.html
210
+ - test/dummy/public/500.html
211
+ - test/dummy/public/favicon.ico
212
+ - test/dummy/script/rails
213
+ - test/support/app/models/foo_bar.rb
214
+ - test/test_helper.rb
215
+ - test/unit/engine_test.rb
216
+ - test/unit/generator_test.rb
217
+ - test/unit/loader_test.rb
218
+ - test/unit/map_test.rb
219
+ - test/unit/pinger_test.rb
220
+ - test/unit/sitemapper_test.rb
221
+ - test/unit/urlset_test.rb