mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-26 16:26:21 +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)
|
@config ||= Site::Config.new(self)
|
||||||
end
|
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
|
# Obtiene todas las plantillas de artículos
|
||||||
#
|
#
|
||||||
# @return [Hash] { post: Layout }
|
# @return [Hash] { post: Layout }
|
||||||
|
@ -433,7 +384,6 @@ class Site < ApplicationRecord
|
||||||
@incompatible_layouts = nil
|
@incompatible_layouts = nil
|
||||||
@jekyll = nil
|
@jekyll = nil
|
||||||
@config = nil
|
@config = nil
|
||||||
@posts = nil
|
|
||||||
@docs = nil
|
@docs = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue