sitemap_generator 7.0.2 → 7.1.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +78 -63
  3. data/README.md +142 -143
  4. data/VERSION +1 -1
  5. data/lib/capistrano/sitemap_generator.rb +2 -0
  6. data/lib/sitemap_generator/adapters/active_storage_adapter.rb +15 -10
  7. data/lib/sitemap_generator/adapters/aws_sdk_adapter.rb +13 -12
  8. data/lib/sitemap_generator/adapters/file_adapter.rb +10 -13
  9. data/lib/sitemap_generator/adapters/fog_adapter.rb +2 -2
  10. data/lib/sitemap_generator/adapters/google_storage_adapter.rb +5 -4
  11. data/lib/sitemap_generator/adapters/s3_adapter.rb +15 -14
  12. data/lib/sitemap_generator/adapters/wave_adapter.rb +5 -5
  13. data/lib/sitemap_generator/application.rb +5 -3
  14. data/lib/sitemap_generator/builder/sitemap_file.rb +21 -15
  15. data/lib/sitemap_generator/builder/sitemap_index_file.rb +23 -18
  16. data/lib/sitemap_generator/builder/sitemap_index_url.rb +5 -6
  17. data/lib/sitemap_generator/builder/sitemap_url.rb +58 -34
  18. data/lib/sitemap_generator/builder.rb +4 -2
  19. data/lib/sitemap_generator/core_ext/big_decimal.rb +38 -33
  20. data/lib/sitemap_generator/core_ext/numeric.rb +50 -46
  21. data/lib/sitemap_generator/helpers/number_helper.rb +52 -46
  22. data/lib/sitemap_generator/interpreter.rb +11 -15
  23. data/lib/sitemap_generator/link_set.rb +63 -65
  24. data/lib/sitemap_generator/railtie.rb +1 -52
  25. data/lib/sitemap_generator/simple_namer.rb +3 -4
  26. data/lib/sitemap_generator/sitemap_location.rb +44 -36
  27. data/lib/sitemap_generator/tasks.rb +1 -1
  28. data/lib/sitemap_generator/templates.rb +6 -7
  29. data/lib/sitemap_generator/utilities.rb +25 -41
  30. data/lib/sitemap_generator.rb +22 -14
  31. data/lib/tasks/sitemap_generator_tasks.rake +2 -0
  32. data/rails/install.rb +2 -0
  33. data/rails/uninstall.rb +2 -0
  34. data/templates/sitemap.rb +2 -0
  35. metadata +2 -2
@@ -8,6 +8,8 @@ require 'sitemap_generator/utilities'
8
8
  require 'sitemap_generator/application'
9
9
  require 'sitemap_generator/sitemap_location'
10
10
 
11
+ # Top-level namespace for the gem. +SitemapGenerator::Sitemap+ is the public entry point;
12
+ # adapters, builders, and utilities are nested here.
11
13
  module SitemapGenerator
12
14
  autoload(:Interpreter, 'sitemap_generator/interpreter')
13
15
  autoload(:FileAdapter, 'sitemap_generator/adapters/file_adapter')
@@ -20,24 +22,30 @@ module SitemapGenerator
20
22
  autoload(:BigDecimal, 'sitemap_generator/core_ext/big_decimal')
21
23
  autoload(:Numeric, 'sitemap_generator/core_ext/numeric')
22
24
 
23
- SitemapError = Class.new(StandardError)
24
- SitemapFullError = Class.new(SitemapError)
25
- SitemapFinalizedError = Class.new(SitemapError)
25
+ class SitemapError < StandardError
26
+ end
27
+
28
+ class SitemapFullError < SitemapError
29
+ end
30
+
31
+ class SitemapFinalizedError < SitemapError
32
+ end
26
33
 
27
- Utilities.with_warnings(nil) do
28
- VERSION = File.read(File.dirname(__FILE__) + '/../VERSION').strip
34
+ Utilities.with_warnings(nil) do # rubocop:disable Metrics/BlockLength
35
+ # rubocop:disable Lint/ConstantDefinitionInBlock
36
+ VERSION = File.read("#{File.dirname(__FILE__)}/../VERSION").strip
29
37
  MAX_SITEMAP_FILES = 50_000 # max sitemap links per index file
30
38
  MAX_SITEMAP_LINKS = 50_000 # max links per sitemap
31
39
  MAX_SITEMAP_IMAGES = 1_000 # max images per url
32
40
  MAX_SITEMAP_NEWS = 1_000 # max news sitemap per index_file
33
41
  MAX_SITEMAP_FILESIZE = 50_000_000 # bytes
34
42
  SCHEMAS = {
35
- 'image' => 'http://www.google.com/schemas/sitemap-image/1.1',
36
- 'mobile' => 'http://www.google.com/schemas/sitemap-mobile/1.0',
37
- 'news' => 'http://www.google.com/schemas/sitemap-news/0.9',
43
+ 'image' => 'http://www.google.com/schemas/sitemap-image/1.1',
44
+ 'mobile' => 'http://www.google.com/schemas/sitemap-mobile/1.0',
45
+ 'news' => 'http://www.google.com/schemas/sitemap-news/0.9',
38
46
  'pagemap' => 'http://www.google.com/schemas/sitemap-pagemap/1.0',
39
- 'video' => 'http://www.google.com/schemas/sitemap-video/1.1'
40
- }
47
+ 'video' => 'http://www.google.com/schemas/sitemap-video/1.1'
48
+ }.freeze
41
49
 
42
50
  # Lazy-initialize the LinkSet instance
43
51
  Sitemap = (Config = Class.new do
@@ -57,6 +65,7 @@ module SitemapGenerator
57
65
  (@link_set ||= reset!).respond_to?(name, include_private) || super
58
66
  end
59
67
  end).new
68
+ # rubocop:enable Lint/ConstantDefinitionInBlock
60
69
  end
61
70
 
62
71
  class << self
@@ -73,8 +82,6 @@ module SitemapGenerator
73
82
  true
74
83
  elsif SitemapGenerator::Utilities.falsy?(ENV['VERBOSE'])
75
84
  false
76
- else
77
- nil
78
85
  end
79
86
  else
80
87
  @verbose
@@ -86,8 +93,9 @@ module SitemapGenerator
86
93
  !!@yield_sitemap
87
94
  end
88
95
 
89
- self.root = File.expand_path(File.join(File.dirname(__FILE__), '../')) # Root of the install dir, not the Rails app
90
- self.templates = SitemapGenerator::Templates.new(self.root)
96
+ # Root of the install dir, not the Rails app
97
+ self.root = File.expand_path(File.join(File.dirname(__FILE__), '../'))
98
+ self.templates = SitemapGenerator::Templates.new(root)
91
99
  self.app = SitemapGenerator::Application.new
92
100
  end
93
101
 
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  load(File.expand_path(File.join(File.dirname(__FILE__), '../sitemap_generator/tasks.rb')))
data/rails/install.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Install hook code here
2
4
  SitemapGenerator::Utilities.install_sitemap_rb
data/rails/uninstall.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Uninstall hook code here
2
4
  SitemapGenerator::Utilities.uninstall_sitemap_rb
data/templates/sitemap.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Set the host name for URL creation
2
4
  SitemapGenerator::Sitemap.default_host = 'http://www.example.com'
3
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitemap_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.2
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Varga
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-29 00:00:00.000000000 Z
11
+ date: 2026-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder