# frozen_string_literal: true

# Los valores de este metadato son artículos en otros idiomas
class MetadataLocales < MetadataTemplate
  def default_value
    super || []
  end

  # Todos los valores posibles para cada idioma disponible
  #
  # TODO: Optimizar?
  # TODO: Mantener sincronizados
  #
  # @return { lang: { title: uuid } }
  def values
    @values ||= site.locales.map do |locale|
      [locale, site.posts(lang: locale).map do |post|
        [post.title.value, post.uuid.value]
      end.to_h]
    end.to_h
  end
end