Class: BridgetownSitemap::GroupedResources
- Inherits:
-
Object
- Object
- BridgetownSitemap::GroupedResources
- Defined in:
- lib/bridgetown-sitemap/grouped_resources.rb
Instance Method Summary collapse
- #each(locale:, &block) ⇒ Object
-
#initialize(resources) ⇒ GroupedResources
constructor
A new instance of GroupedResources.
Constructor Details
#initialize(resources) ⇒ GroupedResources
Returns a new instance of GroupedResources.
5 6 7 8 9 10 11 12 |
# File 'lib/bridgetown-sitemap/grouped_resources.rb', line 5 def initialize(resources) @grouped_resources = resources.group_by do |resource| url = resource.relative_url.to_s locale = resource.data.locale.to_s base_url = locale.empty? ? url : url.sub("/#{locale}/", "/") [base_url, resource.date] end.values end |
Instance Method Details
#each(locale:, &block) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/bridgetown-sitemap/grouped_resources.rb', line 14 def each(locale:, &block) @grouped_resources.each do |resource_group| resource_group = resource_group.reject do |resource| resource.id == "/404" || resource.data.sitemap == false end default_resource = resource_group.detect do |resource| !resource.data.locale || locale == resource.data.locale end latest_resource = resource_group.max_by { |resource| resource.data.sitemap_last_modified_at } yield default: default_resource, latest: latest_resource, group: resource_group end end |