eliminar del índice al eliminar el artículo
This commit is contained in:
parent
13b6b7a452
commit
d2ae406023
2 changed files with 17 additions and 3 deletions
|
@ -17,6 +17,9 @@ class Post
|
||||||
|
|
||||||
attr_reader :attributes, :errors, :layout, :site, :document
|
attr_reader :attributes, :errors, :layout, :site, :document
|
||||||
|
|
||||||
|
# TODO: Modificar el historial de Git con callbacks en lugar de
|
||||||
|
# services. De esta forma podríamos agregar soporte para distintos
|
||||||
|
# backends.
|
||||||
include ActiveRecord::Callbacks
|
include ActiveRecord::Callbacks
|
||||||
include Post::Indexable
|
include Post::Indexable
|
||||||
|
|
||||||
|
@ -258,11 +261,17 @@ class Post
|
||||||
end
|
end
|
||||||
|
|
||||||
# Eliminar el artículo del repositorio y de la lista de artículos del
|
# Eliminar el artículo del repositorio y de la lista de artículos del
|
||||||
# sitio
|
# sitio.
|
||||||
|
#
|
||||||
|
# TODO: Si el callback falla deberíamos recuperar el archivo.
|
||||||
|
#
|
||||||
|
# @return [Post]
|
||||||
def destroy
|
def destroy
|
||||||
FileUtils.rm_f path.absolute
|
run_callbacks :destroy do
|
||||||
|
FileUtils.rm_f path.absolute
|
||||||
|
|
||||||
site.delete_post self
|
site.delete_post self
|
||||||
|
end
|
||||||
end
|
end
|
||||||
alias destroy! destroy
|
alias destroy! destroy
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ class Post
|
||||||
included do
|
included do
|
||||||
# Indexa o reindexa el Post
|
# Indexa o reindexa el Post
|
||||||
after_save :index!
|
after_save :index!
|
||||||
|
after_destroy :remove_from_index!
|
||||||
|
|
||||||
# Devuelve una versión indexable del Post
|
# Devuelve una versión indexable del Post
|
||||||
#
|
#
|
||||||
|
@ -35,6 +36,10 @@ class Post
|
||||||
to_index.save
|
to_index.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def remove_from_index!
|
||||||
|
to_index.destroy.destroyed?
|
||||||
|
end
|
||||||
|
|
||||||
# Los metadatos que se almacenan como objetos JSON. Empezamos con
|
# Los metadatos que se almacenan como objetos JSON. Empezamos con
|
||||||
# las categorías porque se usan para filtrar en el listado de
|
# las categorías porque se usan para filtrar en el listado de
|
||||||
# artículos.
|
# artículos.
|
||||||
|
|
Loading…
Reference in a new issue