# frozen_string_literal: true # Devuelve una lista de títulos y UUID de todos los posts del mismo # idioma que el actual, para usar con input-map.js class MetadataRelatedPosts < MetadataArray # Genera un Hash de { title | slug => uuid } # @return [Hash] def values @values ||= posts.map do |p| [title(p), p.uuid.value] end.to_h end # Las relaciones nunca son privadas def private? false end private # Obtiene todos los posts y opcionalmente los filtra def posts @posts ||= site.posts(lang: lang).where(**filter) end def title(post) post&.title&.value || post&.slug&.value end # Encuentra el filtro def filter layout.metadata.dig(name, 'filter')&.to_h&.symbolize_keys || {} end end