dynamic_sitemaps 2.0.0.beta2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f029dbe8d23b37ba620af6793be4d12f10fd009c
4
- data.tar.gz: 98818a397372a0e01313d75d9b1985d8865deca5
3
+ metadata.gz: 918400614ebe09f1635dfed4f30d9d80459b084e
4
+ data.tar.gz: 1f0f3df4fddd3d6d6de765bd33da680f5c012af5
5
5
  SHA512:
6
- metadata.gz: 509e7d231f8465dfbf7a13917535c0acd36d32436c81db94988feae183abf5eb3c5c650fa3cef837909745ec3014e51d76a747df5152e83b30e1c71f66e0002c
7
- data.tar.gz: cc1836f900c00716056143b9b93a115eec34f876f10ecf5167c9f5239639fdc1f7c697eb30cac940c54f515eb777849f47dfeb9e1d448383c18039789961b7d3
6
+ metadata.gz: e47989bdc4540a62cb5cb3816880ea9603e5aa78a2a2553e84a68a917a62f77be3e936152c6bbd87986d753a9c5323eed132e10183e2119a6081e0ab54849757
7
+ data.tar.gz: 75dd53c52cc9d49fcd117f63039f99b613f94b613976bc103f38f85b8179f66147bb7cddb8a95395585d514fd70d3c9fbb8e7aefe639cc86a6b0c0e7d01b9ba3
@@ -31,10 +31,12 @@ module DynamicSitemaps
31
31
 
32
32
  def move_to_destination
33
33
  sitemaps.map(&:folder).uniq.each do |folder|
34
- destination = "#{DynamicSitemaps.path}/#{folder}"
34
+ destination = File.join(DynamicSitemaps.path, folder)
35
35
  FileUtils.mkdir_p destination
36
- FileUtils.rm_rf Dir.glob("#{destination}/*")
37
- FileUtils.mv Dir["#{DynamicSitemaps.temp_path}/#{folder}/*"], destination
36
+ FileUtils.rm_rf Dir.glob(File.join(destination, "*"))
37
+
38
+ temp_files = File.join(DynamicSitemaps.temp_path, folder, "*.xml")
39
+ FileUtils.mv Dir.glob(temp_files), destination
38
40
  end
39
41
  remove_temp_dir
40
42
  end
@@ -58,7 +60,7 @@ module DynamicSitemaps
58
60
  def sitemap_for(collection, options = {}, &block)
59
61
  raise ArgumentError, "The collection given to `sitemap_for` must respond to #find_each. This is for performance. Use `Model.scoped` to get an ActiveRecord relation that responds to #find_each." unless collection.respond_to?(:find_each)
60
62
 
61
- name = options.delete(:name) || collection.model_name.underscore.pluralize.to_sym
63
+ name = options.delete(:name) || collection.model_name.to_s.underscore.pluralize.to_sym
62
64
  options[:collection] = collection
63
65
 
64
66
  sitemap(name, options, &block)
@@ -1,3 +1,3 @@
1
1
  module DynamicSitemaps
2
- VERSION = "2.0.0.beta2"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -1,10 +1,40 @@
1
+ # Change this to your host. See the readme at https://github.com/lassebunk/dynamic_sitemaps
2
+ # for examples of multiple hosts and folders.
1
3
  host "www.example.com"
2
4
 
3
5
  sitemap :site do
4
6
  url root_url, last_mod: Time.now, change_freq: "daily", priority: 1.0
7
+ end
5
8
 
6
- # Ping search engines after sitemap generation
7
- # ping_with "http://#{host}/sitemap.xml"
8
-
9
- # TODO: Add examples
10
- end
9
+ # You can have multiple sitemaps like the above – just make sure their names are different.
10
+
11
+ # Automatically link to all pages using the routes specified
12
+ # using "resources :pages" in config/routes.rb. This will also
13
+ # automatically set <lastmod> to the date and time in page.updated_at:
14
+ #
15
+ # sitemap_for Page.scoped
16
+
17
+ # For products with special sitemap name and priority, and link to comments:
18
+ #
19
+ # sitemap_for Product.published, name: :published_products do |product|
20
+ # url product, last_mod: product.updated_at, priority: (product.featured? ? 1.0 : 0.7)
21
+ # url product_comments_url(product)
22
+ # end
23
+
24
+ # If you want to generate multiple sitemaps in different folders (for example if you have
25
+ # more than one domain, you can specify a folder before the sitemap definitions:
26
+ #
27
+ # Site.all.each do |site|
28
+ # folder "sitemaps/#{site.domain}"
29
+ # host site.domain
30
+ #
31
+ # sitemap :site do
32
+ # url root_url
33
+ # end
34
+ #
35
+ # sitemap_for site.products.scoped
36
+ # end
37
+
38
+ # Ping search engines after sitemap generation:
39
+ #
40
+ # ping_with "http://#{host}/sitemap.xml"
@@ -341,6 +341,30 @@ class GeneratorTest < ActiveSupport::TestCase
341
341
  assert !Dir.exists?(DynamicSitemaps.temp_path)
342
342
  end
343
343
 
344
+ test "subfolders" do
345
+ DynamicSitemaps.per_page = 5
346
+ DynamicSitemaps.generate_sitemap do
347
+ host "www.example.com"
348
+
349
+ sitemap :site do
350
+ url root_url, :last_mod => Time.now, change_freq: "weekly", priority: 1.0
351
+ end
352
+
353
+ folder "sitemaps/subfolder"
354
+ sitemap :articles do
355
+ 14.times do |i|
356
+ url "http://#{host}/articles/#{i}"
357
+ end
358
+ end
359
+ end
360
+ assert_equal ["sitemaps/sitemap.xml",
361
+ "sitemaps/subfolder/articles.xml",
362
+ "sitemaps/subfolder/articles2.xml",
363
+ "sitemaps/subfolder/articles3.xml",
364
+ "sitemaps/subfolder/sitemap.xml"],
365
+ Dir[Rails.root.join("public/sitemaps/**/*.xml")].map { |p| Pathname.new(p).relative_path_from(Pathname.new(DynamicSitemaps.path)).to_s }.sort
366
+ end
367
+
344
368
  test "large sitemap" do
345
369
  DynamicSitemaps.generate_sitemap do
346
370
  host "www.mydomain.com"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_sitemaps
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Bunk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-14 00:00:00.000000000 Z
11
+ date: 2013-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -166,9 +166,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
166
  version: '0'
167
167
  required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - '>'
169
+ - - '>='
170
170
  - !ruby/object:Gem::Version
171
- version: 1.3.1
171
+ version: '0'
172
172
  requirements: []
173
173
  rubyforge_project:
174
174
  rubygems_version: 2.0.3