rosa-build/config/sitemap.rb

58 lines
1.7 KiB
Ruby

%w(abf.rosalinux.ru abf.io).each do |domain|
SitemapGenerator::Sitemap.create(
default_host: "https://#{domain}",
sitemaps_path: "sitemaps/#{domain}"
) do
# root
add(root_path)
# Projects
Project.opened.find_each do |project|
add(project_path(project), lastmod: project.updated_at)
end
# BuildLists
BuildList.for_status(BuildList::BUILD_PUBLISHED).
where(platforms: { visibility: 'open' }, projects: { visibility: 'open' }).
joins(:save_to_platform, :project).
find_each do |bl|
add(build_list_path(bl), lastmod: bl.updated_at)
end
# Platforms
Platform.opened.find_each do |platform|
add(platform_path(platform), lastmod: platform.updated_at)
# Repositories
add(platform_repositories_path(platform), lastmod: platform.updated_at)
platform.repositories.find_each do |repository|
add(platform_repository_path(platform, repository), lastmod: repository.updated_at)
end
# Products
add(platform_products_path(platform), lastmod: platform.updated_at)
platform.products.find_each do |product|
add(platform_product_path(platform, product), lastmod: product.updated_at)
# ProductBuildList (ISO)
product.product_build_lists.for_status(ProductBuildList::BUILD_COMPLETED).find_each do |pbl|
add(platform_product_product_build_list_path(platform, product, pbl), lastmod: pbl.updated_at)
end
end
end
# Users
User.find_each do |user|
add(user_path(user), lastmod: user.updated_at)
end
# Groups
Group.find_each do |group|
add(group_path(group), lastmod: group.updated_at)
end
end
end