mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-26 12:16:22 +00:00
BREAKING CHANGE: eliminar Site#posts
This commit is contained in:
parent
b2e6b76870
commit
7df1af2a54
1 changed files with 0 additions and 50 deletions
|
@ -230,55 +230,6 @@ class Site < ApplicationRecord
|
|||
@config ||= Site::Config.new(self)
|
||||
end
|
||||
|
||||
# Los posts en el idioma actual o en uno en particular
|
||||
#
|
||||
# @param lang: [String|Symbol] traer los artículos de este idioma
|
||||
def posts(lang: nil)
|
||||
# Traemos los posts del idioma actual por defecto o el que haya
|
||||
lang ||= locales.include?(I18n.locale) ? I18n.locale : default_locale
|
||||
lang = lang.to_sym
|
||||
|
||||
# Crea un Struct dinámico con los valores de los locales, si
|
||||
# llegamos a pasar un idioma que no existe vamos a tener una
|
||||
# excepción NoMethodError
|
||||
@posts ||= Struct.new(*locales).new
|
||||
|
||||
return @posts[lang] unless @posts[lang].blank?
|
||||
|
||||
@posts[lang] = PostRelation.new site: self, lang: lang
|
||||
|
||||
# No fallar si no existe colección para este idioma
|
||||
# XXX: queremos fallar silenciosamente?
|
||||
(collections[lang.to_s]&.docs || []).each do |doc|
|
||||
layout = layouts[Post.find_layout(doc.path)]
|
||||
|
||||
@posts[lang].build(document: doc, layout: layout, lang: lang)
|
||||
rescue TypeError => e
|
||||
ExceptionNotifier.notify_exception(e, data: { site: name, site_id: id, path: doc.path })
|
||||
end
|
||||
|
||||
@posts[lang]
|
||||
end
|
||||
|
||||
# Todos los Post del sitio para poder buscar en todos.
|
||||
#
|
||||
# @return PostRelation
|
||||
def docs
|
||||
@docs ||= PostRelation.new(site: self, lang: :docs).push(locales.flat_map do |locale|
|
||||
posts(lang: locale)
|
||||
end).flatten!
|
||||
end
|
||||
|
||||
# Elimina un artículo de la colección
|
||||
def delete_post(post)
|
||||
lang = post.lang.value
|
||||
|
||||
collections[lang.to_s].docs.delete(post.document) &&
|
||||
posts(lang: lang).delete(post)
|
||||
|
||||
post
|
||||
end
|
||||
|
||||
# Obtiene todas las plantillas de artículos
|
||||
#
|
||||
# @return [Hash] { post: Layout }
|
||||
|
@ -433,7 +384,6 @@ class Site < ApplicationRecord
|
|||
@incompatible_layouts = nil
|
||||
@jekyll = nil
|
||||
@config = nil
|
||||
@posts = nil
|
||||
@docs = nil
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue