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 |
# File 'lib/bridgetown-sitemap/grouped_resources.rb', line 5 def initialize(resources) @grouped_resources = resources.group_by do |resource| [resource.data.slug, resource.date] end.values end |
Instance Method Details
#each(locale:, &block) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/bridgetown-sitemap/grouped_resources.rb', line 11 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 |