Files
grecia/config/sitemap.rb
Javi Martín edd47877c2 Extract methods to get tenant subfolder/file paths
We were using the same logic in many different places, so we're
simplifying the code. I'm not convinced about the method names, though,
so we might change them in the future.

Note using this method for the default tenant in the `TenantDiskService`
class resulted in a `//` in the path, which is probably harmless but
very ugly and it also generates a different key than the one we got
until now. I've added an extra test to make sure that isn't the case.
2022-11-11 01:41:14 +01:00

60 lines
1.7 KiB
Ruby

# not use compression
class SitemapGenerator::FileAdapter
def gzip(stream, data)
stream.write(data)
stream.close
end
end
SitemapGenerator::Sitemap.namer = SitemapGenerator::SimpleNamer.new(:sitemap, extension: ".xml")
SitemapGenerator::Sitemap.verbose = false if Rails.env.test?
Tenant.run_on_each do
SitemapGenerator::Sitemap.default_host = root_url(Tenant.current_url_options)
SitemapGenerator::Sitemap.sitemaps_path = Tenant.subfolder_path
SitemapGenerator::Sitemap.create do
add help_path
add how_to_use_path
add faq_path
if Setting["process.debates"]
add debates_path, priority: 0.7, changefreq: "daily"
Debate.find_each do |debate|
add debate_path(debate), lastmod: debate.updated_at
end
end
if Setting["process.proposals"]
add proposals_path, priority: 0.7, changefreq: "daily"
Proposal.find_each do |proposal|
add proposal_path(proposal), lastmod: proposal.updated_at
end
end
if Setting["process.budgets"]
add budgets_path, priority: 0.7, changefreq: "daily"
Budget.find_each do |budget|
add budget_path(budget), lastmod: budget.updated_at
end
end
if Setting["process.polls"]
add polls_path, priority: 0.7, changefreq: "daily"
Poll.find_each do |poll|
add poll_path(poll), lastmod: poll.starts_at
end
end
if Setting["process.legislation"]
add legislation_processes_path, priority: 0.7, changefreq: "daily"
Legislation::Process.find_each do |process|
add legislation_process_path(process), lastmod: process.start_date
end
end
end
unless Rails.env.development? || Rails.env.test?
SitemapGenerator::Sitemap.ping_search_engines
end
end